0

ユーザーの生年月日を検証しようとしています。私の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です。

これを回避する方法はありますか?

4

2 に答える 2

1

1回のショットで両方の検証を行い、エラーを処理したいと思う方法でエラーを処理する組み込みのものはありません。同時に、カスタム バリデータを作成するのは非常に簡単ですが、作成する価値があるかどうかはわかりません。

正規表現バリデーターを使用して何かを実行し、バリデーターを作成せずに実行することが非常に重要な場合は、アクションで変換を処理できます。そうでない場合は、おそらくバリデーターを作成するのに数分かかるでしょう。

于 2012-06-25T12:01:49.610 に答える
0

Strut ajax および dojo タグの使用

* taglibs をインポート * *必要に応じて指定された日付 の本文 <%@ 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>

于 2012-06-25T12:03:55.977 に答える