我正在使用Struts Jquery Ajax插件进行验证。我需要验证两个文本域MinAmt和MaxAmt。我需要验证MaxAmt总是大于MinAmt。为此,我就像这样制作我的XML。
<validator type="fieldexpression" short-circuit="true">
<param name="fieldName">disSlab.maxAmt</param>
<param name="fieldName">disSlab.minAmt</param>
<param name="expression">disSlab.maxAmt.greaterThan(disSlab.minAmt)</param>
<message>Not Valid Max Amt</message>
</validator>
但它不起作用。我阅读了simple example here并在此代码中
<validator type="fieldexpression">
<param name="fieldname">personBean.carModels</param>
<param name="expression"><![CDATA[personBean.carModels.length > 0]]></param>
<message>You must select at least one car model.</message>
</validator>
这很好用。但任何人都可以为我提供一个OGNL表达式吗?
谢谢你 Dhrumil Shah
答案 0 :(得分:0)
尝试:
<validator type="expression>
<param name="expression">disSlab.maxAmt gt disSlab.minAmt</param>
<message>disSlab.maxAmt must be great than disSlab.minAmt.</message>
</validator>
有关详细信息,请参阅http://struts.apache.org/2.0.14/docs/validation.html#Validation-NonFieldValidatorVsFieldValidator
答案 1 :(得分:0)
嗨,最后我得到了解决方案 如果我们使用Bean并尝试验证像disSlab.maxAmt这样的字段它将无法正常工作,但我将其更改为简单的maxAmt然后应用该代码它工作正常... 代码是这样的......
<validator type="expression" short-circuit="true" >
<param name="expression">maxAmt gt minAmt</param>
<message>maxVal must be great than minVal.</message>
</validator>
不知道为什么会发生这种情况..