0

我正在尝试为用户创建一个表单元素以输入日期,但我不断收到此错误:

提供给 addValidator 的验证器无效;必须是字符串或 Zend_Validate_Interface 不知道我做错了什么

//here is my form code for the date element
    $Commenced_Trading_Date = new Zend_Form_Element_Text('Commenced_Trading_Date');
        $Commenced_Trading_Date->setLabel('Commenced Trading Date')
            ->setRequired(true)     
            ->addFilter('StripTags')
            ->addFilter('StringTrim')
            ->addvalidator(array(array('Date', true, array('format'=>'j F Y'))));

那是我做的唯一代码。请帮忙

4

1 回答 1

0

addValidator方法不将单个数组作为参数。论据是:

  1. 验证器名称作为字符串或验证器对象(用于自定义验证器) -强制
  2. 布尔标志,BreakChainOnFailure -可选
  3. 选项数组 -可选

请参阅 Zend API 描述:

  addValidator(string | \Zend_Validate_Interface $validator, bool $breakChainOnFailure = false, array $options = array()) : \Zend_Form_Element

您可以将日期验证器用作:

   $Commenced_Trading_Date->addvalidator('Date', true, array('format'=>'j F Y'));

或者:

   $validator = new Zend_Validate_Date(array('format' => 'j F Y'));
   $Commenced_Trading_Date->addValidator($validator);
于 2013-10-29T11:10:55.223 回答