0
我的電子郵件輸入字段有兩個驗證器,第一個使用f:validateRegex,第二個使用f:驗證器。當validateRegex失敗時顯示默認消息('值無效'), 當驗證器失敗時顯示驗證器消息('電子郵件已被使用')。 直到我使用validatorMessage自定義f:validateRegex消息時,它纔算正常。 輸入字段現在顯示新消息('電子郵件無效'),這是意外的。validatorMessage覆蓋其他消息
那麼我該如何保持f:驗證器消息?
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);
}
}