package core.framework.impl.validate;
import java.util.regex.Pattern;
/**
* @author neo
*/
class PatternValidator implements FieldValidator {
private final String fieldPath;
private final String errorMessage;
private final Pattern pattern;
PatternValidator(String pattern, String fieldPath, String errorMessage) {
this.pattern = Pattern.compile(pattern);
this.fieldPath = fieldPath;
this.errorMessage = errorMessage;
}
@Override
public void validate(Object value, ValidationErrors errors, boolean partial) {
if (value == null) return;
if (!pattern.matcher((String) value).matches()) errors.add(fieldPath, errorMessage);
}
}