0

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

  1. Bean 验证
  2. JSF 验证

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

我不想在我的 facelett 中有验证类。只有在豆...

4

2 回答 2

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属性相匹配f:validator

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

public void validateInput(FacesContext context, 
                          UIComponent component, Object object) {
  // your validation with 'object' here
}
于 2012-04-24T12:32:14.050 回答
1

你可以这样做,

请看这里。 http://www.javabeat.net/examples/2008/07/09/write-your-own-validator-in-jsf/

于 2012-04-24T12:30:07.337 回答