Cakephp 如何验证多维数组中的值?

Cakephp 如何验证多维数组中的值?,cakephp,cakephp-2.0,Cakephp,Cakephp 2.0,因此,我正在尝试获取到期年份,发布如下: $year = $this->Form->input('exp_year', array( 'type' => 'date', 'maxYear' => date('Y', strtotime('+ 7 years')), 'minYear'

因此,我正在尝试获取到期年份,发布如下:

$year = $this->Form->input('exp_year', array(
                                'type' => 'date',
                                'maxYear' => date('Y', strtotime('+ 7 years')),
                                'minYear' => date('Y'),
                                'dateFormat' => 'Y',
                                'empty' => '----',
                                'label' => false

                                    )
    ));
我试过了,但在这种情况下的文档中没有看到任何内容

            'exp_year' => array(
                    'year' => '2016'
                ),

它看起来不像cake的内置数据验证规则当前处理的是“Y”日期格式。()

即使是这样,也没有简单的方法在类属性中指定动态值,因此您无法在模型$validate声明中使用日期(“Y”),您将使用应用程序中其他地方指定的常量。。。底线:不雅观,难以维护

因此,最简单的方法是使用自定义验证函数,实现起来非常简单:

    'exp_year' => array( 'year' => array(
                'required' => array(
                    'rule' => array('numeric'),
                    'message' => 'Must select an expiration year'
        )
           )
     ),

    'exp_year' => array( array(
                'required' => array(
                    'rule' => array('numeric'),
                    'message' => 'Must select an expiration year'
        )
                 )
     ),