Struts 2 OGNL - 比较validation.xml中的两个字符串值

Bla*_*lam 5 java validation struts2 ognl

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

<validator type="expression">
    <param name="expression">${password}!=${repassword}</param>
    <message>Passwords must match.</message>
</validator> 
Run Code Online (Sandbox Code Playgroud)

我试过两个

${password}!=${repassword}
Run Code Online (Sandbox Code Playgroud)

没有

password!=repassword
Run Code Online (Sandbox Code Playgroud)

OGNL标签.

Ale*_*r M 3

验证expression器是非字段级验证器。使用fieldexpression验证器,它是字段级验证器并使用 OGNL 表达式进行验证。并且必须是 equals( ==) 检查。

<field name="password">
  <field-validator type="fieldexpression">
    <param name="expression"><![CDATA[password == repassword]]></param>
    <message>Passwords must match.</message>
  </field-validator>
</field>
Run Code Online (Sandbox Code Playgroud)

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