$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'
),
我试过了,在这种情况的文档中没有看到任何内容。
'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'
)
)
),
答案 0 :(得分:2)
看起来像cake的内置数据验证规则当前处理的是“Y”dateFormat。 (list of built-in validation rules)
即使它确实如此,也没有简单的方法在类属性中指定动态值,因此您无法在Model $ validate声明中使用date(“Y”),您将使用的是常量在你的应用程序的其他地方指定...底线:不优雅且难以维护。
最简单的方法是使用自定义验证函数,这些函数非常易于实现:Adding your own Validation Methods