Начал изучать yii2 и столкнулся с такой проблемой. Создал отдельный модуль для user сделал форму регистрации, написал для правила для полей и написал одно правило свое для email и оно не срабатывает хоть убей, хотя если скопировать его и вставить в стандартную папку models которая на самом верху то там все работает, попробовал использовать сценарии результат такой же. Помогите решить задачу а то у меня уже кони берут.
<?php
/**
* Created by PhpStorm.
* User: lagoy
* Date: 22.03.2017
* Time: 10:22
*/
namespace app\modules\user\models;
use yii\base\Model;
class UserRegForm extends Model
{
public $email;
public $password;
public $password_repeat;
public function rules()
{
return [
[['email','password', 'password_repeat'],'required'],
[['email'], 'email'],
['password','string','min'=>6,'max'=>20],
['password_repeat','string','min'=>6,'max'=>20],
['email', 'vlemail', 'on' => 'reg']
];
}
public function vlemail($attribute,$params)
{
if(!$this->hasErrors()) // если нет ошибок в валидации
{
if($this->email != 'test@mail.ru'){
$this->addError($attribute,'Мое правило сработало');
}
}
}
}
Вот контроллер
<?php
/**
* Created by PhpStorm.
* User: lagoy
* Date: 22.03.2017
* Time: 10:32
*/
namespace app\modules\user\controllers;
use app\modules\user\models\user;
use app\modules\user\models\UserRegForm;
use Yii;
class UserController extends UserAppController
{
public function actionRegister(){
$model = new UserRegForm();
$model->scenario = 'reg';
return $this->render('register', compact('model'));
}
}