<f:validateRegex>
不是用于客户端,而是用于服务器端。发布<h:messages>
并发送包含此内容的表单,<h:inputText>
以查看为您的sender
组件的错误值生成的消息。
例子:
<h:form>
Input the data:
<h:inputText id="sender" value="#{contactForm.sender}">
<f:validateRegex pattern="([a-zA-Z_0-9]).{4,32}" />
</h:inputText>
<h:commandButton value="Submit" />
<h:messages />
</h:form>
正如 BalusC 在评论中所建议的那样,您可以使用 ajaxonkeyup
为您的输入事件触发验证。
<h:form>
Input the data:
<h:inputText id="sender" value="#{contactForm.sender}">
<f:validateRegex pattern="([a-zA-Z_0-9]).{4,32}" />
<f:ajax event="keyup" render="messageId" />
</h:inputText>
<h:message id="messageId" for="sender" />
</h:form>
此外,正如 DavidStarkey 在评论中发布的那样,您的正则表达式与abcd@
. 如果您想使用点 ( .
) 作为正则表达式的一部分,请\
在它之前使用反斜杠 ( ):
<f:validateRegex pattern="([a-zA-Z_0-9])\.{4,32}" />
更多信息: