型号:
<?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'with 消息'设置未知属性:yii \ validators \ UniqueValidator :: 0'
在第
行echo $form->field($model, 'login');
答案 0 :(得分:3)
似乎是这个
[['login'], 'unique', 'Логин уже используется'],
不是有效的验证器。
尝试删除它或以此格式定义新的
['a1', 'unique', 'targetAttribute' => 'a2']
可能此'Логин уже используется'
不是有效属性