我有字段输入与multidatepicker选择,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
'messages'=>array(
'regexNotMatch'=>'Validate error')
)
);
$form->addElement($element_edit);
我相信您正在寻找一种方法来验证特定格式的逗号分隔(中间有或没有空格)日期块。
你可以使用
'pattern'=>'/^('d{4}-'d{2}-'d{2})(?:,'s*(?1))*$/'
查看regex演示
:
-
^
-字符串 起始 -
('d{4}-'d{2}-'d{2})
-您的单一日期字符串模式:4位数,-
, 2位数,-
和2位数 -
(?:,'s*(?1))*
- 0个或多个-
,
-逗号 -
's*
- 0+ whitespaces -
(?1)
-与第1组相同的模式(您的特定日期模式)
-
-
$
-字符串结束符(可以用'z
代替以禁止换行符在末尾)
这很简单。我们在工作中使用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'))
)
));