1
我有一个包含f:validateRegex字段的p:inputText(PrimeFaces)。我试图确保输入的信息采用格式。摘录:是否f:validateRegex呈现给JavaScript?
<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:阿贾克斯似乎并不奏效(如果出现不正确的格式没有消息)。当我查看呈现的HTML时,我注意到f:validateRegex和f:ajax都是这样显示的,而不是呈现的HTML组件或javascript字段。所以,我的问题是:f:validateRegex应该呈现为JavaScript的客户端?如果是这样,为什么它不能正确渲染?
我在我的名字空间上收到“NLS丢失消息”警告。我相信我可能使用了不正确的名称空间。我使用了'xmlns:f =“http:/java.sun.com/jsf/core”' – chRyNaN 2014-09-18 17:18:31
这就是旧的JSF 2.0/2.1命名空间,它应该在JSF 2.2上同样好用。尝试升级莫哈拉。在2.2.0/2.2.1/2.2.2版本中,XML名称空间注册中存在一些错误。如果错误仍然存在,那么只需忽略并运行它,并在浏览器中验证是否一切正常。如果是这样,那么它可能只是你的编辑器(IDE),而他们又需要升级。 – BalusC 2014-09-18 17:19:04
好吧,会做谢谢 – chRyNaN 2014-09-18 17:20:00