【发布时间】:2012-07-23 21:01:47
【问题描述】:
我认为我的问题很简单,但我似乎无法克服它。 我正在为这样的电子邮件使用输入文本:
<h:outputLabel value="Mail:" for="mail" />
<p:inputText id="mail" value="#{UtilisateurBean.mail}"
title="Mail" validator="#{UtilisateursValidate.email}"
validatorMessage="ecrivez un mail valide">
<f:validateRegex
pattern="[\w\.-]*[a-zA-Z0-9_]@[\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]" />
<f:validateLength minimum="2" />
问题是它不支持@之前的点字符,例如 nouraty.n@mail.com(通常是 gmail 的情况)。我试过这样的东西:
pattern="[\w\.-]*[a-zA-Z0-9._%-]@[\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]"
pattern="[\w\.-]*[a-zA-Z0-9\._%-]@[\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]"
但没有运气。 任何人都可以为这个问题提出解决方案吗?
【问题讨论】:
-
对我来说很好用(用 nouraty.n@mail.com 测试) -
:s 那么他们可能是 nouraty@mail.com 有效但 nouraty.n@mail.com 无效的任何其他原因吗?即使我怀疑它!
-
validator="#{UtilisateursValidate.email}"到底在做什么?它不是针对无效模式执行验证吗?如果您删除该属性怎么办?请注意,验证器按照在组件上声明的顺序执行,从validator属性作为第一个属性开始。 -
那是我在尝试某事而忘记取下它,我一直在看它,以至于我没有看到明显的东西。比你更重要的是,它实际上是一个正在控制的课程中的另一个验证。
-
好的。我将其作为答案重新发布,以便您接受。
标签: validation email jsf-2 primefaces design-patterns