5

我是 Struts2 和 OGNL 的新手,正在制作一个带有注册页面的简单 Web 应用程序。有两个字段,passwordrepassword(重新输入密码)并使用验证框架我想验证两个密码是否匹配(我知道我可以使用 JavaScript 轻松完成)。这是我到目前为止所得到的。所有字段验证器都工作正常。这是我的第一个非字段验证器,但我无法让它工作。

<validator type="expression">
    <param name="expression">${password}!=${repassword}</param>
    <message>Passwords must match.</message>
</validator> 

我都试过了

${password}!=${repassword}

并且没有

password!=repassword

OGNL 标签。

4

2 回答 2

3

expression验证器是一个非字段级别的验证器。使用fieldexpression验证器,它是一个字段级验证器,并使用 OGNL 表达式进行验证。它必须是等于(==)检查。

<field name="password">
  <field-validator type="fieldexpression">
    <param name="expression"><![CDATA[password == repassword]]></param>
    <message>Passwords must match.</message>
  </field-validator>
</field>

验证器expression添加操作错误。验证器fieldexpression添加字段错误。

于 2013-03-01T09:04:08.967 回答
2

尝试

%{password == repassword}

验证器检查布尔 OGNL 表达式是否相等。

于 2013-02-28T22:55:37.703 回答