Php 函数规则()不';我不工作

Php 函数规则()不';我不工作,php,yii,yii2,yii2-advanced-app,yii2-validation,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', '

在我的代码中没有应用函数规则,我在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',
        ];
    }

}

您的问题不是验证不起作用,而是服务器接收到的数据不正确。它将没有正确的名称,使yi能够将模型属性与所需规则匹配。你的表单应该是这样的

$form = ActiveForm::begin();
echo $form->field($model, 'name')->textInput();
$form = ActiveForm::end();
其中,
$model
是您的
年份
课程的一个实例


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

您想用这个模型做什么?你在什么时候调用一些代码并期望规则能起作用?在我的查看页面中,我希望用户输入新年数据输入名称
这只是一个属性,但不起作用。你能将此代码添加到你的问题中吗,因为它与代码不工作的原因极为相关。谢谢列应使用所有小写名称。这将有助于防止将来引用列时出现拼写错误。-此外,请显示您的视图代码和控制器操作。-看起来您的表单不正确,您应该使用yii2activeform,以便它相应地生成表单输入值和id。