0
$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'
        )
                 )
     ),
4

1 に答える 1

2

現在、cakeの組み込みデータ検証ルールが「Y」dateFormatを処理しているようには見えません。(組み込みの検証ルールのリスト

たとえそうだったとしても、クラスプロパティで動的な値を指定する簡単な方法はないため、Model $ validate宣言でdate( "Y")を使用することはできません。他の場所で指定されている定数を使用する必要があります。あなたのアプリ...結論:エレガントでなく、維持するのが難しい。

非常に簡単な方法は、カスタム検証関数を使用することです。これは、実装が非常に簡単です。独自の検証メソッドを追加する

于 2012-04-16T08:18:09.920 に答える