<field name="myField"> <field-validator type="fieldexpression"> <param name="expression">OGNL expression</param> <message>validation error message</message> </field-validator> </field>
<validator type="fieldexpression"> <param name="fieldName">myField</param> <param name="expression">OGNL expression</param> <message>validation error message</message> </validator>
Parameter name | Description |
expression | The OGNL expression to be evaluated (to a boolean value). |
We want that the user always enters the sum correctly. The following examples illustrate that purpose:<field name="sum"> <field-validator type="fieldexpression"> <param name="expression">sum eq (number1 + number2)</param> <message>The sum you entered is incorrect!</message> </field-validator> </field>
<validator type="fieldexpression"> <param name="fieldName">sum</param> <param name="expression">sum eq (number1 + number2)</param> <message>The sum you entered is incorrect!</message> </validator>
In the above examples, we use the expression:sum eq (number1 + number2)
That’s equivalent to:sum = (number1 + number2)
Some OGNL comparison operators we can use are:@FieldExpressionValidator (param1 = "param 1 value", param2 = "param 2 value", ...)
Parameter name | Required | Default value | Description |
message | Yes | validation error message. | |
key | No | i18n key for validation error message. | |
messageParams | No | Additional parameters to customize the message. | |
fieldName | No | Specifies field name in case this validator type is plain-validator. | |
shortCircuit | No | false | Whether this validator is short circuit. |
expression | Yes | The OGNL expression to be evaluated (to a boolean value). |
@FieldExpressionValidator( expression = "sum eq (number1 + number2)", message = "The sum you entered is incorrect!" )
@FieldExpressionValidator(
fieldName = "sum",
expression = "sum eq (number1 + number2)",
message = "The sum you entered is incorrect!"
)
public String execute() {
return SUCCESS;
} @FieldExpressionValidator( fieldName = "sum", expression = "sum eq (number1 + number2)", key = "form.validation.sum", message = "(default message if the i18n key not found)" )
Nam Ha Minh is certified Java programmer (SCJP and SCWCD). He began programming with Java back in the days of Java 1.4 and has been passionate about it ever since. You can connect with him on Facebook and watch his Java videos on YouTube.