2013-11-07 2 views
0

Я хотел бы добавить фильтр в элемент текстовой формы. Код:Фильтр элемента формы не работает

$this->addElement('text', 'product_amt', array(
    'filters' => array('Digits'),  
    'required' => true) 
); 

Фильтр, похоже, не работает, потому что когда я печатаю, например. «78abc» значение остается неизменным в поданной, когда я нажимаю кнопку отправки формы. Кроме того, я получаю «78abc» не «78» как параметр «product_amt» POST.

ответ

0

Значение, исходящее от POST, будет значением, введенным пользователем в поле ввода. Фильтры применяются при вызове isValid на форме объекта:

$form = new My_Form(); // your form object 
if($form->isValid($this->getRequest()->getPost())) { //we pass in the POST data into the isValid function 
    //Valid data - do something 
} else { 
    //data is not valid - do something else 
} 

В функции isValid значение для каждого элемента фильтруется по мере необходимости (в этом случае в только цифры), а затем установить в качестве значения элементов перед тем, как функция «isValid» вызывается, чтобы удостовериться, что значение проходит какую-либо проверку (в данном случае «isRequired», как вы установили «required» в true).

Вы звоните по телефонам: isValid на вашу форму?

 Смежные вопросы

  • Нет связанных вопросов^_^