1

我有一个日期字段,应该需要允许模式 MM/dd/yyyy 的日期。

在我的 Struts validation.xml 文件中,我有以下代码

<field property="newEffectiveDate"
            depends="required,date">
            <msg name="required"
                key="errors.effectiveDate.required" />
            <msg name="date" key="errors.date.format" />
            <arg0 key="property.effectiveDate" />
            <var>
                <var-name>datePattern</var-name>
                <var-value>MM/dd/yyyy</var-value>
            </var>
        </field>

即使我输入正确的格式为 2013 年 4 月 24 日,它会抛出一条错误消息,指出日期格式错误,但是当我输入日期为 04-24-2013 时,它会接受它。

任何帮助是极大的赞赏。

4

2 回答 2

0
<field property="pwd" depends="required,date">
       <arg position="0" key="pswd"/>
       <arg position="1" resource="false" key="5"/>
       <arg position="0" key="dt"/>
       <var>
         <var-name>date</var-name>
         <var-value>MM/dd/yyyy</var-value>
       </var>
</field>

上面的代码工作正常,所以你可能想<var-name>datePattern</var-name><var-name>date</var-name>. 让我知道它是否有效。

于 2013-10-19T15:04:34.623 回答
0

date - 验证字段是否可以转换为日期。此验证器使用 java.text.SimpleDateFormat 来解析日期,并且可以选择使用 datePattern 或 datePatternStrict 变量。如果未指定模式,则假定默认短日期格式。使用 datePatternStrict 和 datePattern 变量之间的区别在于 datePatternStrict 额外检查输入数据的长度是否与指定的模式相同(例如,2004 年 1 月 1 日将失败,模式为 MM/dd/yyyy )。

取自:Struts 文档

试试这个:

    <var><var-value>MM/dd/yyyy</var-value></var>

这似乎是一个非常常见的问题,答案接近 0。

于 2013-04-24T20:13:19.947 回答