如何使用regexp PHP Zend框架验证元素中的多日期
我使用multidatepicker select输入字段,multidatepicker在字段中输入日期,如:如何使用regexp PHP Zend框架验证元素中的多日期,php,regex,zend-framework,zend-form,zend-validate,Php,Regex,Zend Framework,Zend Form,Zend Validate,我使用multidatepicker select输入字段,multidatepicker在字段中输入日期,如:2016-10-02,2016-10-13,2016-10-25。 如何验证所有日期或一个日期,如果存在,也许我可以使用数组regexp验证程序验证 $element_edit->addValidator ('regex', false, array( 'pattern'=>'/^\d{4}-\d{2}-\d{2}$/',//for only one 'me
2016-10-02
,2016-10-13
,2016-10-25
。
如何验证所有日期或一个日期,如果存在,也许我可以使用数组regexp验证程序验证
$element_edit->addValidator ('regex', false, array(
'pattern'=>'/^\d{4}-\d{2}-\d{2}$/',//for only one
'messages'=>array(
'regexNotMatch'=>'Validate error')
)
);
$form->addElement($element_edit);
这很容易。我们在工作中使用Zend,所以我经常处理它
$this->addElement('text', 'firstname', array(
'label' => 'Your first name:',
'required' => true,
'validators' => array(
array('regex', false, array(
'pattern' => '{The pattern}',
'messages' => 'Your firvalidation message'))
)
));
我相信您正在寻找一种方法来验证特定格式的逗号分隔日期块(中间有或没有空格) 你可以用
'pattern'=>'/^(\d{4}-\d{2}-\d{2})(?:,\s*(?1))*$/'
见
详细信息:
-字符串的开头^
-您的单日期字符串模式:4位、(\d{4}-\d{2}-\d{2})
、2位、-
和2位-
-零个或多个(?:,\s*(?1))*
-逗号,
-0+空格\s*
-与第1组中的模式相同(您的特定日期模式)(?1)
-字符串结尾(可以替换为$
,以禁止在末尾使用换行符)\z
'pattern'=>'/^(\d{4}-\d{2}-\d{2})(?:,\s*(?1))*$/'