나는 완벽하게 작동하는이 코드를 작성했습니다. 내가 변경할 수없는 유일한 것은 기본 콜백 오류 메시지입니다 "const INVALID_VALUE = 'callbackValue';" Zend_Validate_Callback에.Zend_Validate_Callback은 self :: INVALID_VALUE 메시지를 덮어 씁니다.
$validators['ip'][] = array('Ip');
$validators['ip'][] = array('Callback', array('callback' => array($this->_ip, 'ipUnique')));
$filters = array('*' => 'StringTrim');
$input = new Zend_Filter_Input($filters, $validators, $_POST);
$input->setOptions(array('presence' => 'required'));
if($input->isValid()){
// all okay
}
else{
return $input->getMessages();
}
아이디어가 있으십니까?
, 나는 메시지의 키를 변경하는 오해하지 않으되지 않습니다 , 나는 기본값을 변경하려면
: 보호 $ _messageTemplates = 배열 ( self :: INVALID_VALUE => " '% value %'이 (가) 유효하지 않습니다.", self :: INVALID_CALLBACK => "콜백 내에서 예외가 발생했습니다.", ); – ibram