我正在创建一个用户将在struts2应用程序中注册的表单。用户需要以特定格式输入日期。
由于我不打算使用datepicker ajax标记,因此我使用的文本字段的日期标记如下:
<s:date name="birthDate" id="bDateId" format="yyyy-MM-dd"/>
<s:textfield name="birthDate" id="%{bDateId}" label="Birth Date (yyyy-MM-dd)"/>
底层用户实体有一个String字段来表示日期。所以我的问题是,是否有一种直接的方法来对日期字段的用户输入格式应用验证。 struts2提供的日期验证器只能用于检查日期范围,但不能用于检查特定格式。
有人会推荐一种方法来做到这一点,或者不介意指向一个自定义验证器的例子吗?
感谢您的建议 关心所有
答案 0 :(得分:1)
您可以使用正则表达式验证器轻松验证这一点。类似的东西:
<field name="birthDate">
<field-validator type="regex">
<param name="expression">[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]</param>
<message>The value must be in the format yyyy-MM-dd</message>
</field-validator>
答案 1 :(得分:1)
您可以使用日期验证程序对此进行验证。类似的东西:
<field name="fecha">
<field-validator type="date">
<param name="min">01/01/1900</param>
<param name="max">01/01/9999</param>
<message key="error.fecha.rango.invalido"/>
</field-validator>
</field>