【问题标题】:Struts2 form-fields validation does not work [duplicate]Struts2表单字段验证不起作用[重复]
【发布时间】:2016-02-29 18:08:15
【问题描述】:

我正在尝试按照here(struts2 文档)的描述实现验证。我的班级:

public class FatturaAction extends BaseAction {

    private static final long serialVersionUID = 6586322371651933659L;
    private FatturaForm fatturaForm;

    //getter and setter
}

FatturaForm:

public class FatturaForm {

    private Date data;

    //getter and setter
}

我的 XML (FatturaAction-validaton.xml):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0//EN"
          "http://www.opensymphony.com/xwork/xwork-validator-1.0.dtd">
<validators>
    <field name="fatturaForm.data"> 
        <field-validator type="required"> 
            <message>You cannot leave the email address field empty.</message>
        </field-validator>
    </field>
</validators>

即使该字段为空,也不会命中验证。我正在使用&lt;interceptor-ref name="defaultStack" /&gt;,所以验证拦截器被激活。

编辑:

我也试过non field validator

<validators>
    <validator type="required"> 
        <param name="fieldName">data</param> 
        <message>You must enter a value for bar.</message> 
    </validator>
</validators>

它也没有命中。

【问题讨论】:

    标签: java validation configuration struts2 struts-validation


    【解决方案1】:

    您使用了错误的 DTD:

    <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0//EN" 
              "http://www.opensymphony.com/xwork/xwork-validator-1.0.dtd">
    

    最新版本的 Struts 2 正确的是

    <!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN"
              "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
    

    还要确保您的 FatturaAction-validaton.xmlaction 文件夹中,而不是在 bean 文件夹中(仅适用于 访客验证)

    【讨论】:

    • 它工作了吗@Emaborsa ?
    • 对不起,我还没有尝试...我让你知道。您对@Romans 的声明有何看法?你同意他的观点吗?
    • 不,他只是将动作与 bean 混淆了。
    • 是的,它有效。现在我将实施所有验证,我会告诉你。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-03
    • 1970-01-01
    • 2012-12-04
    • 1970-01-01
    相关资源
    最近更新 更多