📄 fieldexpressionvalidator.java
字号:
/* * Copyright (c) 2002-2006 by OpenSymphony * All rights reserved. */package com.opensymphony.xwork2.validator.validators;import com.opensymphony.xwork2.validator.ValidationException;/** * <!-- START SNIPPET: javadoc --> * Validates a field using an OGNL expression. * <!-- END SNIPPET: javadoc --> * <p/> * * <!-- START SNIPPET: parameters --> * <ul> * <li>fieldName - The field name this validator is validating. Required if using Plain-Validator Syntax otherwise not required</li> * <li>expression - The Ognl expression (must evaluate to a boolean) which is to be evalidated the stack</li> * </ul> * <!-- END SNIPPET: parameters --> * * <pre> * <!-- START SNIPPET: example --> * <!-- 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> * <!-- END SNIPPET: example --> * </pre> * * * @author $Author: mrdon $ * @version $Revision: 1063 $ */public class FieldExpressionValidator extends FieldValidatorSupport { private String expression; public void setExpression(String expression) { this.expression = expression; } public String getExpression() { return 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); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -