com.opensymphony.xwork2.validator.validators
public class: FieldExpressionValidator [javadoc |
source]
java.lang.Object
com.opensymphony.xwork2.validator.validators.ValidatorSupport
com.opensymphony.xwork2.validator.validators.FieldValidatorSupport
com.opensymphony.xwork2.validator.validators.FieldExpressionValidator
All Implemented Interfaces:
FieldValidator, ShortCircuitableValidator, Validator
Validates a field using an OGNL expression.
- fieldName - The field name this validator is validating. Required if using Plain-Validator Syntax otherwise not required
- expression - The Ognl expression (must evaluate to a boolean) which is to be evalidated the stack
<!-- Plain Validator Syntax -->
<validators>
<!-- Plain Validator Syntax -->
<validator type="fieldexpression">
<param name="fieldName">myField</param>
<param name="expression"><![CDATA[#myCreditLimit > #myGirfriendCreditLimit]]></param>
<message>My credit limit should be MORE than my girlfriend</message>
<validator>
<!-- Field Validator Syntax -->
<field name="myField">
<field-validator type="fieldexpression">
<param name="expression"><![CDATA[#myCreditLimit > #myGirfriendCreditLimit]]></param>
<message>My credit limit should be MORE than my girlfriend</message>
</field-validator>
</field>
</vaidators>
- author:
$ - Author: mrdon $
- version:
$ - Revision: 1063 $
| Methods from com.opensymphony.xwork2.validator.validators.ValidatorSupport: |
|---|
|
addActionError, addFieldError, conditionalParse, getDefaultMessage, getFieldValue, getMessage, getMessageKey, getParse, getValidatorContext, getValidatorType, isShortCircuit, setDefaultMessage, setMessageKey, setParse, setShortCircuit, setValidatorContext, setValidatorType, setValueStack |
| Method from com.opensymphony.xwork2.validator.validators.FieldExpressionValidator Detail: |
public String getExpression() {
return expression;
}
|
public void setExpression(String expression) {
this.expression = expression;
}
|
public void validate(Object object) throws ValidationException {
String fieldName = getFieldName();
Boolean answer = Boolean.FALSE;
Object obj = null;
try {
obj = getFieldValue(expression, object);
} catch (ValidationException e) {
throw e;
} catch (Exception e) {
// let this pass, but it will be logged right below
}
if ((obj != null) && (obj instanceof Boolean)) {
answer = (Boolean) obj;
} else {
log.warn("Got result of " + obj + " when trying to get Boolean.");
}
if (!answer.booleanValue()) {
addFieldError(fieldName, object);
}
}
|