Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用regexp PHP Zend框架验证元素中的多日期_Php_Regex_Zend Framework_Zend Form_Zend Validate - Fatal编程技术网

如何使用regexp PHP Zend框架验证元素中的多日期

如何使用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

我使用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
    '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))*$/'

详细信息

  • ^
    -字符串的开头
  • (\d{4}-\d{2}-\d{2})
    -您的单日期字符串模式:4位、
    -
    、2位、
    -
    和2位
  • (?:,\s*(?1))*
    -零个或多个
    • -逗号
    • \s*
      -0+空格
    • (?1)
      -与第1组中的模式相同(您的特定日期模式)
  • $
    -字符串结尾(可以替换为
    \z
    ,以禁止在末尾使用换行符)

您的示例仅适用于一个日期,meen me需要验证多个日期,meen me需要像patterns array这样的人来处理一个元素。您需要什么样的模式?逗号分隔的日期?我猜您正在寻找
'pattern'=>'/^(\d{4}-\d{2}-\d{2})(?:,\s*(?1))*$/'