我是 Struts 2 和 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 标签。
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
验证器添加了字段错误。
尝试
%{password == repassword}
验证器检查布尔 OGNL 表达式是否相等。