是否可以向JSF bean添加自定义验证?

时间:2012-04-24 12:20:35

标签: java validation jsf-2

这是关于JSF的验证。我知道验证有两种方法

  1. Bean验证
  2. JSF验证
  3. 我想编写自己的验证类。是否可以将自定义验证类添加到JSF bean?

    我不想在我的facelett中使用验证类。只在Bean ...

2 个答案:

答案 0 :(得分:2)

是的,您可以编写自己的验证器类:

@FacesValidator("customValidator")
public class CustomValidator implements Validator{

    public void validate(FacesContext context, UIComponent component,
            Object value) throws ValidatorException {
        // do your validation here
    }
}

并在你的facelets中使用它:

<h:inputText value="#{myBean.myValue}">
  <f:validator validatorId="customValidator" />
</h:inputText>

请注意,@FacesValidator注释的内容必须与validatorId的{​​{1}}属性相匹配。

此外,jsf输入元素具有f:validator属性。您可以使用此属性将验证委托给支持bean中的特殊方法。

validator

答案 1 :(得分:1)