Задать вопрос
  • Не работает AJAX проверка на уникальность имени пользователя YII2. Подскажи что не так в коде?

    @Barkasth Автор вопроса
    не, не в том дело... это задаем только одному полю, а если добавить виджету - то всей, но так тоже не работает...
    разобрался: ['username', 'unique'], - работает только c атрибутами ActiveRecord. А у меня class RegForm extends Model.
    Поменял: ['username', 'ajaxValidate'],
    public function ajaxValidate($attribute)
    {
    $user = User::findOne(['username' => $this->username]);
    if($user){
    $this->addError($attribute, 'Пользователь с таким логином существует');
    }elseif (!preg_match('/\+\d{12,15}/', $this->username)) {
    $this->addError($attribute, 'Введите свой номер телефона в формате +111111111111');
    }
    }
    Ответ написан
    Комментировать