0

我正在使用 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>   

但它不起作用。我在这里和这段代码中阅读了简单的例子

<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 表达式吗?

感谢adv Dhrumil Shah

4

2 回答 2

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>

不知道为什么会这样。。

于 2011-07-28T07:05:29.277 回答
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

于 2011-07-01T03:48:58.630 回答