私の電子メール入力フィールドには2つのバリデータがあり、最初のものはf:validateRegexを使用し、2番目のものはf:バリデータを使用します。 validateRegexが失敗したときに表示されるデフォルトのメッセージ( '値は無効')、バリデータが失敗したときに バリデータメッセージが表示されます( '電子メールはすでに使用中です')。 validatorMessageでf:validateRegexメッセージをカスタマイズするまでは問題ありません。 入力フィールドに、予期せぬ両方の新しいメッセージ(「電子メールが無効です」)が表示されるようになりました。validatorMessage他のメッセージをオーバーライド
だから私はどのようにf:validatorメッセージを保持できますか?
HTML:
<p:inputText id="phoneNo" value="#{bean.phoneNo}"
validatorMessage="#{msg['errors.phone.invalid']}">
<f:validateRegex pattern="#{msg['pattern.regex.phone']}" />
<f:validator binding="#{phoneNoValidator}" />
</p:inputText>
<p:message for="phoneNo" showDetail="true" />
Validatorクラス:
public void validate(FacesContext context, UIComponent component,
Object value) throws ValidatorException {
fc = context;
String phoneNo = String.valueOf(value);
if (driverBO.isExistMobileNo(phoneNo)) {
FacesMessage message = getErrorMessage(Errors.PHONE_DUPLICATED);
throw new ValidatorException(message);
}
}