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);
}
}