Class JsonEditorValidator
java.lang.Object
sk.iway.iwcm.components.customfields.rest.JsonEditorValidator
Validates JSON custom fields and prepares valid values for safe persistence.
-
Method Summary
Modifier and TypeMethodDescriptionstatic voidescapeForPersistence(Object entity, Collection<String> fieldNames) Replaces literal angle brackets with equivalent JSON Unicode escapes.getRules(Object entity, CustomFieldsSearchDto context) Resolves JSON field names and required flags exclusively from server configuration.static StringReplaces JSON Unicode escapes for angle brackets with literal characters.static List<DatatableFieldError>Validates the supplied entity against resolved JSON field rules.static StringvalidateValue(String value, boolean required, Prop prop) Checks one complete object, allowing single quotes, unquoted names and Java-style comments.
-
Method Details
-
getRules
Resolves JSON field names and required flags exclusively from server configuration.- Parameters:
entity- entity providing field metadata and template contextcontext- database configuration lookup context- Returns:
- field names mapped to their required flags
-
validate
public static List<DatatableFieldError> validate(Object entity, Map<String, Boolean> rules, Prop prop) Validates the supplied entity against resolved JSON field rules.- Parameters:
entity- entity whose string values are checkedrules- server-resolved field names and required flagsprop- localized validation messages- Returns:
- native DataTable field errors, empty when all values are valid
-
escapeForPersistence
Replaces literal angle brackets with equivalent JSON Unicode escapes. The operation is idempotent and does not parse or reserialize the source text.- Parameters:
entity- entity whose validated JSON values are prepared for persistencefieldNames- server-resolved JSON property names
-
unescape
Replaces JSON Unicode escapes for angle brackets with literal characters.- Parameters:
value-- Returns:
-
validateValue
Checks one complete object, allowing single quotes, unquoted names and Java-style comments.- Parameters:
value- original text, which is never changedrequired- whether an empty value is invalidprop- localized validation messages- Returns:
- localized error or null for a valid value
-