0

我有一个带有自定义电子邮件验证器的表单,如下所示:

<o:validator for="#{cc.attrs.id}_text" validatorId="emailValidator" disabled="#{not cc.email}" message="#{messages['message.validation.invalidEmail']}" />

我有一个带有 ajax=false 的 commandButton 来提交表单。

在第一页帖子上,电子邮件验证器错误消息正确显示。问题是两次提交相同的表格时 - 我还收到了 2 封无效的电子邮件。再次提交,你得到了 3。这个问题不会出现在其他原生 jsf 验证器上,比如 required 和 pattern。

例如,我提交了 3x 表格,我将收到以下消息:

Email > Invalid format
Email > Invalid format
Email > Invalid format

我的 bean 是对话范围。任何想法?谢谢。

4

1 回答 1

0

我不太确定发生了什么,但在这种情况下对我有用的解决方案是:

1.) 使用 f:validator 2.) 创建自定义验证器并将其设置为 f:validator,例如:

当我使用自定义组件时,我需要对电子邮件验证器进行硬编码。在这种情况下,使用变量不起作用。

于 2013-08-25T12:42:41.830 回答