2012-08-08 3 views
0

addErrorMessage()를 사용하면 다른 모든 유효성 검사 오류가 무시되는 것 같습니다.Zend Framework의 오류 메시지 연결

예를 들어 맞춤 전화 요소를 만들었습니다. 또한 사용자 지정 비즈니스 규칙을 확인하는 사용자 지정 유효성 검사 클래스를 만들었습니다. 사용자 정의 비즈니스 규칙을 충족시키지 못했을 때 My_Validate_BusinessPhone에서 오류 메시지를 인쇄 할 것으로 예상했습니다. 그러나 addErrorMessage()에 설정된 메시지를 항상 인쇄합니다. 이것은 정상적인 행동입니까? 오류 메시지를 연결하는 방법이 있습니까?

$phone = new My_Form_Element_Phone('phone'); 
$phone->setRequired(TRUE) 
    ->setAttrib('id', 'phone') 
    ->addErrorMessage('Please provide a valid phone number') 
    ->addValidator(new My_Validate_BusinessPhone); 

미리 감사드립니다.

답변

0

메시지를 유효성 검사기가 아닌 양식 요소로 설정하기 때문에 메시지를 덮어 씁니다. 이것이 작동하는 방법입니다. 첫째, 양식 요소를 얻으십시오. 귀하의 경우에는 그것을 사용하십시오. 둘째, 이름으로 유효성 검사기를 가져옵니다 (예 : 'notEmpty'일 수 있음).이 유효성 검사기에 메시지를 추가하십시오.

$phone->getValidator('yourValidatorsName')->setMessage('Please provide a valid phone number'); 

난 그냥 내 자신의 스크립트에서이 테스트를했지만, 나는 그것이 작동합니다 희망 ;-)