CakePHP表单日,月,年验证

时间:2014-09-05 09:44:55

标签: php forms validation cakephp cakephp-2.3

我正在使用CakePHP 2.3.9和CakePHP表单助手来创建注册表单。

我正在为所有字段使用内置表单验证,但我无法使其适用于日,月和年条目。

字段应该是必填字段而不是空字段。我对所有其他字段(正常文本输入和选择)进行了正确的验证。

以下是视图中的输入:

   <?= $this->Form->day('dateOfBirth', array('class'=>'date-of-birth', 'empty' => 'day')); ?>
   <?= $this->Form->month('dateOfBirth', array('class'=>'date-of-birth','empty' => 'month')); ?>
   <?= $this->Form->year('dateOfBirth','2014','1901', array('class'=>'date-of-birth','empty' => 'year')); ?>

以下是模型中当前(不工作)的验证:

    'dateOfBirth' => array(
           'rule' => 'notempty',
           'required' => true
    ),  

3 个答案:

答案 0 :(得分:0)

模态验证nonEmpty规则应该是这样的

var $validate = array(
    'dateOfBirth' => array(
    'rule' => 'notEmpty',
    'required' => true
        )
    );

答案 1 :(得分:0)

使用notEmpty代替notempty

答案 2 :(得分:0)

你也可以这样做,

echo $this->Form->input('dateOfBirth',array('dateFormat' => 'YDM','maxYear'=>date('Y'),'minYear'=>'1901','empty'=>'--Select--','label'=>'Select Birth Date')); 

模型规则,

var $validate = array(
        'dateOfBirth' => array(
        'rule' => 'notEmpty',   // or you can use 'rule' => array('date'),
        'required' => true,
        'message'=>'Please Select BirthDate'
        )
   );

注意:以上规则验证正确的日期。但问题是你不能为这里生成的下拉列表定义多个空值。相反,它们将被填充为“--Select--”作为所有三个的空值。如果你没关系那么你可以实现相同的