0

私のカレンダーには readOnlyInput="false" があるため、ユーザーは 13/13/2013 などの間違った日付を入力できます。

ユーザーが datePicker ポップアップを使用する代わりに日付を入力することを好む場合、私の日付を regexValidate する方法はありますか?

<p:calendar id="birthDate" size="22" locale="#{view.locale}"
                            maxdate="#{userCreationBean.maxDate}" navigator="true"
                            yearRange="c-100" readOnlyInput="false"
                            value="#{userCreationBean.user.birthDate}"
                            mindate="01/01/1900" pattern="dd/MM/yyyy"
                            style="left: 194px !important;"

                            >
                        </p:calendar>
4

1 に答える 1

1

<f:validateRegex>バリデーターは、入力String値ではなく入力値に対してのみDate機能するため、考えていた目的には適していません。

代わりに<f:convertDateTime>コンバーターを使用してください。

<p:calendar ...>
    <f:convertDateTime pattern="dd/MM/yyyy" />
</p:calendar>

デフォルトでは寛大ではないため、無効な日付が入力されるとコンバータ例外がスローされます。必要に応じconverterMessageて、入力コンポーネントの属性によってコンバータ メッセージをカスタマイズできます。

于 2013-02-13T18:09:14.803 に答える