2

記事を投稿する日時のフォーム入力を検証したいです。

$model = new Post('update');
    $model->attributes = $_POST['Post'];

        if($model->validate()){

            //But, validation fails...    

        }

これは、入力が日時形式であるかどうかを確認するためのルールです。このページ ( http://chris-backhouse.com/date-validation-in-yii/528 ) を参考にしました。

しかし、「作成された」入力の検証エラーが発生します。

public function rules()
{
    return array(

        //datetime validation
        array('created', 'date', 'message' => '{attribute}: is not a datetime!', 'format' => 'YYYY-MM-DD HH:MM:SS'),

        );
}

これは、$models-attribute にあるものです。

array(1) { ["created"]=> string(19) "2013-08-01 00:00:01" }

誰でもこれを機能させる方法を知っていますか?

よろしくお願いします!!!

4

3 に答える 3

2

カスタム形式が必要になる場合があるため、ルールで入力形式を使用することをお勧めします。

array('created', 'date', 'format'=>'yyyy-MM-dd hh:mm:ss', 'message'=>'{attribute} have wrong format'),

日付形式の詳細はこちら - http://www.yiiframework.com/doc/api/1.1/CDateTimeParser

于 2013-08-13T06:46:25.300 に答える
1

Yii 2.0.6 (そしておそらく Yii 1.x ?) では、正しい形式は次のとおりです。

['creation_date', 'date', 'format'=>'yyyy-MM-dd HH:mm:ss']

時間が CAPS でない場合は機能しません。

于 2015-11-06T22:29:42.990 に答える