Я пытаюсь создать простую форму Zend, используя pm_Form_Simple
учебный класс. Мне нужен валидатор обратного вызова с его addElement
метод. Вот что я сделал.
$form = new pm_Form_Simple();
$form->addElement('text','my_number',
array('label'=>'Your number',
'validators'=>array(
array('name'=>'Callback',false,'
options'=>array('messages'=>'Invalid number',
'callback'=>function($value,$context=array()){
if($value < 0){
return false;
}else{
return true;
}
},
))
)));
Это дает мне ошибку при отправке формы
Missing argument 1 for CommonPanel_Validate_Callback::__construct()
Я пробовал эту структуру также
array(
new \Zend\Validator\Callback(
array(
'messages' => array(\Zend\Validator\Callback::INVALID_VALUE => 'Invalid number'),
'callback' => function($value){
if($value < 0){
return false;
}else{
return true;
}
}
)))
Это дало мне ошибку include_once(Zend/Validator/Callback.php): failed to open stream: No such file or directory
Я не вижу Zend/Validator
в моей установке Zend, поэтому я изменил его на zend/Validate
На этот раз ошибка была Class 'Zend\Validate\Callback' not found
Я знаю, что существует LessThan
& GreaterThan
валидаторы, но может кто-нибудь любезно помочь / направить меня о том, как добавить callback
валидатор с addElement
функция?
Задача ещё не решена.
Других решений пока нет …