yii2 gridview搜索字段不触发验证,不显示错误消息

时间:2016-06-04 03:03:11

标签: gridview yii2 yii2-model yii2-validation

今天连续两天我无法在我的应用中管理日期处理。我需要一只手,请关注createdAtDate

\ YII \网格\ DataColumn的

 [
                'label' => 'Fecha',
                'filter'=>'
                    <div class="input-group date" id="datetimepicker1">
                        <input type="text" name="OrderSearch[createdAtDate]" value="' . $searchModel['createdAtDate'] . '" class="form-control" />
                        <span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span></span>
                    </div>',
                'attribute' => 'createdAtDate',
                'value' => function($model) {
                    //return $model->created_at;
                    return Yii::$app->formatter->asDate($model->created_at);
            }],

我正在使用bootstrap datepicker。我想通过硬html-dirty方式完成这个,所以没有php包装类宝贝方式。

\应用\模型\ OrderSearch

    public $createdAtTime;

    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
            [['id', 'number', 'status', 'customer_id'], 'integer'],
            [['createdAtDate'], 'safe'],

        ];
    }

在搜索功能->andFilterWhere(["created_at" => $this->createdAtDate]);

的下方

我觉得某些事情没有联系,有些事情是错误的。出现日期选择器,但不会在值更改时触发验证。但是,其他列可以触发验证(目前在搜索模型中设置为“安全”)。这就是现在的问题。

1 个答案:

答案 0 :(得分:0)

OrderSearch代码中,您没有createdAtDate

的验证
    [['createdAtDate'], 'safe'],

safe子句仅用于允许post by post方法到目的地

并且不是日期的正确验证规则..

使用适当的验证规则更改安全