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

问题描述 投票:0回答:2

我是 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 标签。

java struts2 validation ognl
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
验证器添加了字段错误。


2
投票

尝试

%{password == repassword}

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

© www.soinside.com 2019 - 2024. All rights reserved.