【问题标题】:Validator is only invoked when the input value is specified仅在指定输入值时调用验证器
【发布时间】:2009-08-26 16:57:52
【问题描述】:

我有这个字段:

<h:inputText id="email" value="#{user.user.email}" 
             title="Email" validator="#{user.user.validateEmail}" />

validateEmail 方法检查电子邮件地址的长度是否大于 0,如果不是,则抛出 Exception。我认为这会起作用,但只有当您输入一个值时才会调用该方法。为什么?

【问题讨论】:

    标签: validation jsf error-handling


    【解决方案1】:

    如果该字段为空,则不会调用验证器。如果需要值,请将控件的 required 属性设置为 true。

    【讨论】:

    • 但是我不能更改默认错误消息,除非我使用 Bundles / Custom 验证器类,对吧?
    • 是的,您将需要一个自定义消息包。您不需要自定义验证器来覆盖所需的消息。如果您在 faces-config.xml 中提供自定义包,则可以在该包中为您的消息设置适当的属性(即 javax.faces.component.UIInput.REQUIRED )属性。不过我相信这可能是 1.2 的功能。
    猜你喜欢
    • 2018-01-05
    • 1970-01-01
    • 2014-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-11
    相关资源
    最近更新 更多