Как запретить кирилицу textInput yii2?
Доброе утро.
Вы забыли добавить модификатор "u" для работы с кирилицей.['username', 'match', 'pattern' => '/^[^а-яА-Я]+$/ui'],
И если Вы используйте "i", то сократить можно до такой записи['username', 'match', 'pattern' => '/^[^а-яё]+$/i'],
Ну и если Вам не нужна кириллица, то зачем проверять именно на присутствие кириллицы, а не сразу проверять латиницу?['username', 'match', 'pattern' => '/^[a-z]+$/i'],
И можно попробовать убрать ограничение на начало и окончание строки.['username', 'match', 'pattern' => '/[a-z]+/i'],
Так же можно ещё сократить запись pattern-a.// \w соответствует [a-zA-Z0-9_]
['username', 'match', 'pattern' => '/\w+/i'],даже латиница не работает при такой валидации
Не работает потому, что Вы не используете метасимвол повторения(если я правильно назвал)
При таком шаблоне '/^[^а-яА-Я] $/i' Вы ищите только один символ, а чтобы найти от одного и больше надо использовать "+", вот так '/^[^а-яА-Я]+$/i'
P.S.
Для вывода пользовательского сообщения об ошибке можно передать дополнительный параметр в правило валидации['username', 'match', 'pattern' => '/[a-z]+/i', 'message' => '{attribute} должен содержать только латиницу!'],
P.S.S.
Вот полезные ссылки:
1) Регулярные выражения для новичков.
2) yii\validators\Validator
3) Документация YII2
а так ['username', 'match', 'pattern' => '/^[a-zA-Z]$/i'], ?
https://stackoverflow.com/questions/46448963/valid...