我是Struts2和OGNL的新手,正在制作一个带注册页面的简单Web应用程序。有两个字段password
和repassword
(重新输入密码)并使用验证框架我想验证这两个密码是否匹配(我知道我可以使用JavaScript轻松完成)。这是我到目前为止所得到的。所有的现场验证器都工作正常。这是我的第一个非现场验证器,我无法让它工作。
<validator type="expression">
<param name="expression">${password}!=${repassword}</param>
<message>Passwords must match.</message>
</validator>
我尝试了
${password}!=${repassword}
且没有
password!=repassword
OGNL标签。
答案 0 :(得分: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
验证程序会添加字段错误。
答案 1 :(得分:2)
试
%{password == repassword}
验证器检查两者是否相等的布尔OGNL表达式。