У меня есть p: inputText (PrimeFaces) с включенным полем f: validateRegex. Я пытаюсь убедиться, что введенная информация соответствует формату. Фрагмент:
<p:inputText id="usernameInput" required="true" validatorMessage="Invalid Email" value="#{sessionHandler.username}" >
<f:validateRegex pattern="^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$"/>
<f:ajax event="keyUp" render="emailMessage" />
</p:inputText>
<p:watermark for="usernameInput" value="Email"/>
<h:message id="emailMessage" />
Кажется, что f:validateRegex и f:ajax не работают (при неправильном формате сообщение не появляется). Когда я смотрю на визуализированный HTML, я замечаю, что и f:validateRegex, и f:ajax отображаются именно так, а не как визуализированный компонент HTML или поле javascript. Итак, мой вопрос: должен ли f:validateRegex отображать javascript для клиентской стороны? Если да, то почему он не отображается правильно?