2010-12-10 11 views
0

입력 요소의 유효성을 검사하기 위해 다음 calss가 있습니다. zend 콜백에서 사용자 정의 메시지 유효성 확인

class Validator_FormValidator { 
    public function genValid($value){ 

     $chainValid = new Zend_Validate(); 

     $strLenV = new Zend_Validate_StringLength(array('min' => 4, 'max' => 10)); 
     $strLenV->setMessage("You have entered a Invalid value","stringLengthInvalid"); 
     $chainValid->addValidator($strLenV); 

     return $result; 
    } 

} 

다음

public function indexAction() 
    { 
     $this->view->form = new Form_LoginForm(); 
     $this->view->registrationForm = new Form_RegistrationForm(); 

     if($this->getRequest()->isPost()) { 
      $validatorObj = new Validator_FormValidator(); 
      $valid = new Zend_Validate_Callback(array($validatorObj,'genValid')); 
      $username = $this->_getParam('username');   

      if ($valid->isValid($username)) { echo 'success'; } 
      else { 
       echo 'failure'; 
       foreach ($valid->getMessages() as $message) { 
        echo "$message\n"; 
       } 

      } 
     } 
    } 

지금 내 컨트롤러 오류 조건에 표시되지 않습니다 내 Validator_FormValidator 클래스에서 사용자 정의 오류 메시지를 추가하려고 인덱스 컨트롤러

. PLZ가이 작업을 수행하는 방법을 안내해 줄 수 있습니까? 이게 내가하고 싶은 일 (별도의 유효성 검사기 클래스를 만들고 모든 유효성 검사 함수를 넣는 것)이 좋은 방법인가요?

+0

저는 여러분이 검증을 위해 zendx jquery를 사용할 수 있다고 생각합니다. – Developer

답변

1

직접 작성하는 일반적인 방법은 Zend_Validate_Abstract 또는 기존 유효성 검사기의 모든 클래스를 확장하는 것입니다 (예 : custom validate). Zend_Validate_StringLength. 이렇게하면 유효성 검사 프로세스는 물론 모든 속성을 사용자 정의 할 수 있습니다. 메시지.

관련 문제