Как реализовать валидатор JSF? - PullRequest
1 голос
/ 26 декабря 2010

HI,

Я хочу знать, как реализовать Validator в JSF.В чем преимущества объявления идентификатора валидатора.Когда это будет называться в жизненном цикле?Я реализовал следующий код.Пожалуйста, выясните, что не так в коде.Я не вижу, чтобы это называлось нигде в жизненном цикле.

   <?xml version="1.0"?>
<!DOCTYPE faces-config PUBLIC
  "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
  "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">

<faces-config>
 <lifecycle>
  <phase-listener>javabeat.net.jsf.JsfPhaseListener</phase-listener>
 </lifecycle>
 <validator>
  <validator-id>JsfValidator</validator-id>
  <validator-class>javabeat.net.jsf.JsfValidator</validator-class>
 </validator>

 <managed-bean>
  <managed-bean-name>jsfBean</managed-bean-name>
  <managed-bean-class>javabeat.net.beans.ManagedBean</managed-bean-class>
  <managed-bean-scope>request</managed-bean-scope>
 </managed-bean>
 <navigation-rule>
  <navigation-case>
   <from-outcome>success</from-outcome>
   <to-view-id>success.jsp</to-view-id>
  </navigation-case>
 </navigation-rule>
</faces-config>


public class JsfValidator implements Validator {

 public JsfValidator()
 {
  System.out.println("Inside JsfValidator Constructor");
 }
 @Override
 public void validate(FacesContext facesContext, 
       UIComponent uiComponent, 
       Object object)
   throws ValidatorException {
  System.out.println("Inside Validator");
 }
}

1 Ответ

2 голосов
/ 26 декабря 2010

Вы должны привязать этот пользовательский валидатор к некоторому компоненту jsf на странице jsf, и именно здесь используется определенный вами vaidator-id.Например, ваша страница jsf может выглядеть примерно таккакая фаза жизненного цикла JSF проходит валидация и т. д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...