Zend framework 表格';s滤芯过滤器不工作

Zend framework 表格';s滤芯过滤器不工作,zend-framework,zend-form,zend-decorators,Zend Framework,Zend Form,Zend Decorators,我想在文本表单元素中添加一个过滤器。代码是: $this->addElement('text', 'product_amt', array( 'filters' => array('Digits'), 'required' => true ) ); 过滤器似乎不起作用,因为当我键入例如“78abc”时,当我按下表单提交按钮时,字段中的值保持不变。此外,我将“78abc”而不是“78”作为“product\u amt”POST参数。来自POST的值

我想在文本表单元素中添加一个过滤器。代码是:

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

过滤器似乎不起作用,因为当我键入例如“78abc”时,当我按下表单提交按钮时,字段中的值保持不变。此外,我将“78abc”而不是“78”作为“product\u amt”POST参数。

来自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
函数之前设置为元素值,以确保值通过任何验证(在本例中,由于您已将“required”设置为true,因此“isRequired”)

您是否在表单上调用
isValid