函数规则()不起作用yii2

时间:2017-04-21 12:53:30

标签: php yii yii2 yii2-advanced-app yii2-validation

函数规则没有在我的代码中应用,我在loginFrom模型中做了相同的代码,但它运行良好! 这是我的模特

<?php

namespace backend\models;
use Yii;
use yii\base\Model;
class Year extends \yii\db\ActiveRecord
{
    public function rules()
    {
        return [
            [['Current_Year', 'Date', 'Description'], 'required'],
        ];
    }
    public static function tableName()
    {
        return 'year';
    }

    public function attributeLabels()
    {
        return [
            'YearId' => 'Year ID',
            'Theme' => 'Theme',
            'Current_Year' => 'Current  Year',
            'Date' => 'Date',
            'Description' => 'Description',
        ];
    }

}

1 个答案:

答案 0 :(得分:0)

您的问题不是您的验证无效,而是服务器收到数据时不正确。它没有正确的名称,无法使Yii将模型属性与所需规则相匹配。您的表单应该看起来像这样;

$form = ActiveForm::begin();
echo $form->field($model, 'name')->textInput();
$form = ActiveForm::end();

其中$model是您的Year类的实例。

这将使用Yii生成字段的所有匹配名称,然后将验证规则与属性匹配。您会发现您的字段名称类似于Year['name'],Yii可以找到该属性的验证规则。