6

電子メールアドレスを検証するための次のコード行があります。

<h:outputText value="#{labels.eMail}: " />
<p:inputText size="30" maxlength="50" validatorMessage="Please provide a valid e-mail address" value="#{personelView.eMail}">
  <f:validateRegex pattern=".+@.+\.[a-zA-Z]+" />
</p:inputText>

電子メールアドレスフィールドを空のままにしてフォームを送信すると、検証エラーが発生します。なぜJSfがこれを行っているのですか?上記のコードでメールフィールドを検証するだけではないですか?私も追加しようとしました:

required="false" 

まだダメ。誰かがこの事件について何か考えを持っていますか?

4

1 に答える 1

18

あなたのinputText値はあなたに対して検証されて<f:validateRegex pattern=".+@.+\.[a-zA-Z]+" />おり、その値が有効でない場合はエラーが発生します。そのため、パターンに一致するか、空の文字列を受け入れるように正規表現を改善する必要があります。

だからそれを包んで()追加する?ことは仕事をするはずです

試す

<f:validateRegex pattern="(.+@.+\.[a-zA-Z]+)?"/>
于 2012-05-16T08:50:10.670 に答える