2012-04-24 154 views

回答

2

是的,你可以写自己的验证器类是这样的:

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

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

,并用它在你的小面:

<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 
} 
1
+0

这不是我想要的。它将验证添加到jsf页面。 – Kayser 2012-04-24 12:32:28

+0

它就在那里,你需要实现Validator接口来创建你自己的验证器。你想要什么? – 2012-04-24 12:35:09

+0

在Bean中,您可以使用注释检查值。相似的东西。我想写一个验证器来验证Bean中的输入值。并且我不想在facelet – Kayser 2012-04-24 12:39:49

相关问题