Задать вопрос
@frmax
человек

Почему контроллер не сохраняет кирилицу?

Привет еще раз,

значит прописал rules и регулярку
return [
            ['username', 'filter', 'filter' => 'trim'],
            ['username', 'required'],
            ['username', 'match', 'pattern' => '#^[\w_-А-Яа-я\.]+$#i'],
            ['username', 'string', 'min' => 2, 'max' => 255],


Отправилось в контроллер
Но save не проходит...
Я так понимаю проблема тут

public function signup()
    {
        if ($this->validate()) {
            $user = new User();
            $user->username = $this->username;
            $user->lastname = $this->lastname;
      //...
 
            if ($user->save()) {
             // .....
            }
            return $user;
        }
 
        return null;
    }
  • Вопрос задан
  • 231 просмотр
Подписаться 1 Оценить Комментировать
Решения вопроса 1
abler98
@abler98
Software Engineer
Ну у тебя как минимум есть ошибка в регулярке. Во-первых дефис нужно экранировать, если это не диапазон. Во-вторых \w уже содержит русский алфавит и знак подчеркивания, вроде )
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@frmax Автор вопроса
человек
Проверил,
конекшен к БД,
таблицу в БД каждое поле,
файлы тоже проверил - utf8
['username', 'match', 'pattern' => '#^[\w_-А-Яа-я\.]+$#ui'],


Вот, но все равно - сохранение не проходит, точнее и ошибку не выдает "типа сохраняет" смотрю в БД а записи нет. Как только меняю на EN все сохраняет. Это потому что пт 13е чтоли?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы