가능한 중복 :
zendframework 2 inputfilter customize default error messageZend Framework 2의 Zend Validator Identical에서 사용자 정의 'isEmpty'오류 메시지를 반환하려면 어떻게해야합니까?
내가 등록 양식에서 입력의 유효성을 검사 젠드 \ InputFilter \ InputFilter를 사용하는 것을 시도하고있다. 그 코드는 다음과 같습니다.
- '이메일'필드에서 이메일 주소의 유효성을 검사합니다.
- 'email_confirm'의 값이 'email'의 값과 일치하는지 확인합니다.
사용자가 두 입력란을 비워 둘 때를 제외하고 모든 경우에 적용됩니다. 해당 인스턴스에서 'email_confirm'에 대한 유효성 검사기는 오류 Array ([isEmpty] => Value is required and can't be empty)
을 반환합니다.
어떻게이 오류 메시지를 사용자 정의합니까? 내가 사용하여 설정할 수 없습니다 :
'messages' => array(
'isEmpty' => 'Message Here'
),
을 그 (아주 바르게)라고 예외가 발생하기 때문에 동일한 젠드 \ 검사기 \ '는 IsEmpty 함수'에 대한 메시지 템플릿을 가지고 있지 않습니다. 그리고 '이메일'필드에 대해 이전에 설정 한 메시지를 가져 오지 않습니다. 그렇지 않으면 Array ([isEmpty] => Please enter your email address)
이 반환됩니다.
array(
'name' =>'NotEmpty',
'options' => array(
'messages' => array(
\Zend\Validator\NotEmpty::IS_EMPTY => 'Please enter your email address'
),
),
),
당신은 더 정보를 위해 API을 확인할 수 있습니다 :
$this->add($inputFactory->createInput(array(
'name' => 'email',
'required' => true,
'filters' => array(
array('name' => 'StripTags'),
array('name' => 'StringTrim'),
),
'validators' => array(
array(
'name' =>'NotEmpty',
'options' => array(
'messages' => array(
'isEmpty' => 'Please enter your email address'
),
),
),
array(
'name' => 'StringLength',
'options' => array(
'encoding' => 'UTF-8',
'max' => 200,
'messages' => array(
'stringLengthTooLong' => "Email addresses cannot be more than 200 characters"
),
),
),
array(
'name' =>'EmailAddress',
'options' => array(
'useMxCheck' => true,
),
),
),
)));
$this->add($inputFactory->createInput(array(
'name' => 'email_confirm',
'required' => true,
'filters' => array(
array('name' => 'StripTags'),
array('name' => 'StringTrim'),
),
'validators' => array(
array(
'name' => 'Identical',
'options' => array(
'token' => 'email',
'messages' => array(
'notSame' => "Your email addresses do not match, please try again",
),
),
),
),
)));
감사합니다, 닐
나는 작동하지 않을까 두렵습니다. \ Zend \ Validator \ NotEmpty :: IS_EMPTY는 상수 'isEmpty'를 반환하기 때문에''messages '=> array ('isEmpty '=>'Message Here ')'를 호출하는 것과 똑같은 문제입니다. – Neil
@ 네일 당신 말이 맞아요, 내 편집을 참조하십시오. 나는 당신의 문제를 해결할 다른 방법을 찾고있다. 다른 유효성 검사기가 사용자 지정 메시지를 올바르게 표시합니까? – Carlos
예, 다른 모든 유효성 검사기의 사용자 지정 메시지는 정상적으로 작동합니다. – Neil