Validation 在模糊/焦点丢失时验证输入

Validation 在模糊/焦点丢失时验证输入,validation,jsf-2,primefaces,Validation,Jsf 2,Primefaces,我正在使用正则表达式对输入进行电子邮件验证,如下所示: <h:inputText id="email" value="#{settingsBean.aFriendEmail}" required="true" label="Email" validatorMessage="#{settingsBean.aFriendEmail} is not valid"> <f:validateRegex pattern="[\w\.-]*[a-zA-Z0-9_]@[\w\.-]*[

我正在使用正则表达式对输入进行电子邮件验证,如下所示:

<h:inputText id="email" value="#{settingsBean.aFriendEmail}" required="true" label="Email" validatorMessage="#{settingsBean.aFriendEmail} is not valid">
    <f:validateRegex pattern="[\w\.-]*[a-zA-Z0-9_]@[\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]" />
</h:inputText>
<p:message for="email" />

我想知道如何对输入进行模糊/聚焦丢失验证。 请建议如何实现这一点,谢谢

另外,我想将有效域限制为.com、.net、.org 有什么建议吗?

添加一个
链接到
blur
事件并在完成后更新消息

<h:inputText id="email" ...>
    ...
    <f:ajax event="blur" render="emailMessage" />
</h:inputText>
<p:message id="emailMessage" for="email" />
验证失败时,模型值永远不会更新,因此这将始终打印初始值,初始值可能为null/空。您应该改为显示

可能重复的
validatorMessage="#{settingsBean.aFriendEmail} is not valid"
validatorMessage="#{component.submittedValue} is not valid"