我是Zend Framework的新手,我想用正则表达式验证可选表单字段$start_date
的用户输入。问题是我无法将此Zend_Form_Element_Text设置为不需要,因此只要此日期没有输入,我就无法将所有表单值发送到DB。我尝试了->setAllowEmpty()
和->setRequired()
。
PHP代码如下:
$start_date = new Zend_Form_Element_Text('start_date');
$start_date->setLabel('start_date')
->addFilter('StripTags')
->addFilter('StringTrim');
$start_date->setDecorators(array(
'ViewHelper',
'Errors',
array(array('data' => 'HtmlTag'), array('tag' => 'td', 'class' => 'element'))
));
$start_date->addValidator('regex', false, array('/((\d{2})|(\d))\/((\d{2})|(\d))\/((\d{4})|(\d{2}))/'));
$start_date->setAttribs(array('class'=>'eingabe nospace', 'pattern'=>'((\d{2})|(\d))\/((\d{2})|(\d))\/((\d{4})|(\d{2}))', 'title'=>'Format: dd.mm.yyyy'));
谢谢!