struts2有什么必需的命令吗?

时间:2012-06-25 08:47:38

标签: java forms date struts2 validation

我正在尝试验证用户的出生日期。我的jsp页面是这样的:

<s:form>
...
<s:date name="birthDate" var="formattedVal" />
<s:textfield value="%{#formattedVal}" key="birthDate" />
...
</s:form>

我的action-validation.xml就是这样:

 <field name="birthDate">
    <field-validator type="required">
        <param name="trim">true</param>
        <message key="birthDate.required" />
    </field-validator>
    <field-validator type="date">
        <param name="min">01/01/1900</param>
        <param name="max">01/01/9999</param>
        <message />
    </field-validator>
 </field>

问题在于,当我在这个文本字段中输入错误的输入时,例如:“asñdlkfa”,struts2认为用户没有放任何东西,然后输入错误birthDate.required

有什么方法可以避免这种情况吗?

2 个答案:

答案 0 :(得分:1)

没有任何内置功能可以在一次拍摄中同时进行两次验证,并按照我想要处理的思考的方式处理错误。与此同时,我不确定是否值得编写自定义验证器,即使这样做非常简单。

如果在没有编写验证器的情

答案 1 :(得分:0)

使用struts ajax和dojo标签

* 导入taglib <%@ taglib prefix="sj" uri="/struts-jquery-tags"%> <%@ taglib prefix="sd" uri="/struts-dojo-tags"%> * * 放在<head> <sj:head /> <sd:head compressed="false" cache="false" /> </head>之间 身体 <sj:datepicker name="date achat" label="Format (yyyy-MM-dd)" displayFormat="yyyy-MM-dd" maxDate="2012-06-25" /> <sd:datetimepicker name="date achat" label="Format2 (yyyy-MM-dd)" displayFormat="yyyy-MM-dd" startDate="2012-06-25"></sd:datetimepicker>指定日期作为您的要求 *