This is a validator that, due to the addition of the parameter, allows the validation of multiple different types
of input. The paramString must be a valid regular expression. The MustMatchRegularExpression validator will
the String#matches(String) method on the string to be converted and the regular expression string and if
the two do not match then a CsvValidationException will be thrown.
Because this is validating the string before it is parsed/converted, the capture settings of the string must be taken into account.
Examples:
// The String that becomes id must be a number with three to six digits.
@PreAssignmentValidator(validator = MustMatchRegexExpression.class, paramString = "^[0-9]{3,6}$")
@CsvBindByName(column = "id")
private int beanId;
// The String that becomes bigNumber must be a number with seven to ten digits.
// The String for this field is after the word "value: " in the field.
@PreAssignmentValidator(validator = MustMatchRegexExpression.class, paramString = "^[A-Za-z ]*value: [0-9]{7,10}$")
@CsvBindByName(column = "big number", capture = "^[A-Za-z ]*value: (.*)$", format = "value: %s")
private long bigNumber;
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public boolean | isValid(String value)
Implements com. Performs the validation check on the string and returns the result. |
| public void | setParameterString(String value)
Implements com. This allows the validator extending |
| public void | validate(String value, BeanField<T, I> field)
Implements com. Performs the validation check on the string and throws an exception if invalid. |
| regex | back to summary |
|---|---|
| private String regex | |
| MustMatchRegexExpression | back to summary |
|---|---|
| public MustMatchRegexExpression() Default constructor. | |
| isValid | back to summary |
|---|---|
| public boolean isValid(String value) Implements com. Doc from com. Performs the validation check on the string and returns the result.
| |
| setParameterString | back to summary |
|---|---|
| public void setParameterString(String value) Implements com. Doc from com. This allows the validator extending Those data might be forbidden characters or regular expressions, to name two possibilities. If the validator needs multiple parameters, then you will need to combine them into a single string using some sort of delimiter, say a comma, and parse them out using some library that allows you to parse such strings 😁. If the validator does not need a value then just create an empty method like the MustStartWithACapitalLetter validator used by the BeanFieldValidatorTest.
| |
| validate | back to summary |
|---|---|
| public void validate(String value, BeanField<T, I> field) throws CsvValidationException Implements com. Doc from com. Performs the validation check on the string and throws an exception if invalid.
| |