java - struts2 有类似 requireddate 的东西吗?

标签 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

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

最佳答案

没有任何内置功能可以一次性完成验证并按照我认为您希望的方式处理错误。同时,我不确定是否值得编写自定义 validator ,尽管这样做确实很容易。

如果在不编写 validator 的情况下执行此操作对您来说非常重要,您可以使用正则表达式 validator 执行某些操作并处理操作中的转换,否则我可能会花几分钟来编写 validator 。

关于java - struts2 有类似 requireddate 的东西吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11186073/

相关文章:

java - 从ArrayList获取自定义类

java - 值 '0000-00-00' 不能表示为 java.sql.Date

java - 使用 Java 8 Time 将时间从一个时区转换为另一个时区

html - Angular 2 形式 : binding html select to collection of objects

jquery - if 和 else 代码块一起运行

python - Dateutil 包 : absolute difference in seconds between two dates

php - 这些 strtotime() 格式是否存在?

javascript - 如何在不刷新/提交页面的情况下发送 POST 方法

asp.net - Godaddy 服务器无法使用电子邮件

python - 使用 pyodbc 将带日期的数据上传到 MS Access 数据库