0

次のようなカスタム メール バリデータを含むフォームがあります。

<o:validator for="#{cc.attrs.id}_text" validatorId="emailValidator" disabled="#{not cc.email}" message="#{messages['message.validation.invalidEmail']}" />

そして、フォームを送信する ajax=false の commandButton があります。

最初のページの投稿で、電子メール バリデータ エラー メッセージが正しく表示されます。問題は、同じフォームを 2 回送信した場合です。2 つの無効な電子メール メッセージも受け取りました。再度送信すると 3 になりました。required や pattern などの他のネイティブ jsf バリデーターでは問題は発生しません。

たとえば、フォームを 3 回送信すると、以下のメッセージが表示されます。

Email > Invalid format
Email > Invalid format
Email > Invalid format

私の Bean は会話範囲です。何か案が?ありがとう。

4

1 に答える 1

0

何が起こったのかよくわかりませんが、この場合の解決策は次のとおりです。

1.) f:validator を使用します。 2.) カスタム バリデータを作成し、f:validator に設定します。例:

カスタム コンポーネントを使用しているため、電子メール バリデータをハード コードする必要があります。この場合、変数の使用は機能しません。

于 2013-08-25T12:42:41.830 に答える