正在设置未知属性


Setting unknown property

型号:

<?php
namespace app'models;
use Yii;
class User extends 'yii'base'Model
{
    public $login;
    public $password;
    public $repassword;
    public function rules()
    {
        return [
            [['login', 'password', 'repassword'], 'required'],
            [['login'], 'match', 'pattern' => '/^[A-Za-z0-9_]+$/u', 'message' => 'Логин может содержать буквы цифры и "_" '],
            [['login'], 'unique', 'Логин уже используется'],
            [['login'], 'filter', 'filter' => 'trim'],
            [['password'], 'string', 'min' => 4, 'message' => 'Слишком короткий пароль'],
            [['repassword'], 'compare', 'compareAttribute' => 'newPassword', 'message' => 'Пароли не совпадают']
        ];
    }
}
?>

控制器

public function actionReg()
{
    $model = new User;
    return $this->render('reg', [
        'model' => $model
    ]);
}

查看

<?
use yii'widgets'ActiveForm;
use yii'helpers'Html;
?>
<? $form = ActiveForm::begin(['id' => 'login-form']); ?>
<?
    echo $form->field($model, 'login');
    echo $form->field($model, 'password');
    echo $form->field($model, 'repassword');
?>

<? ActiveForm::end(); ?>

获取错误:

PHP用户错误–yii''base''ErrorException

异常(未知属性)"yii''base''UnknownPropertyException"具有消息"正在设置未知属性:yii''validators''UniqueValidator::0"

在线

echo $form->field($model, 'login');

看起来这个

   [['login'], 'unique', 'Логин уже используется'],

不是有效的验证程序。

尝试删除它或以这种格式定义一个新的

 ['a1', 'unique', 'targetAttribute' => 'a2']

可能这个'Логин уже используется'不是一个有效的属性