2016-05-12 5 views
2

У меня есть эта проверка:буквы проверки Regex, точки и тире Laravel

'users.first_name' => 'required|min:2|regex:/[A-Za-z. -]/|max:255', 

Почему это проверка передать это имя: John [] []

+1

Пожалуйста, дайте нам [mcve], чтобы мы могли воспроизвести вашу проблему – Rizier123

+0

@lonVasile Что вам нужно разрешить в 'first_name' ?? –

+0

Любая буква, точка и тире. –

ответ

5

Кто-то в комментарии также указывали на эту проблему, что на /[A-Za-z. -]/ вы не заботитесь обо всех персонажах, но заявляете, что этого достаточно для меня, если поле под проверкой имеет только наименьшее из этих символов.

Чтобы иметь только те символы, которые Вы должны указать начало и окончание ввода текста с помощью каретки ^ и $:

regex:/^[A-Za-z. -]+$/ 
+0

Спасибо за этот ответ. У меня были аналогичные требования для имени пользователя минус, позволяющего пробельный символ, и мне нужно было разрешить номера. Таким образом, все имена пользователей могут иметь числа, буквы a-z как верхние, так и строчные, подчеркивания, точки и тире. Это работает для Laravel 5.4, вот конечный результат: '' username '=> [' required ',' regex:/^ [0-9A-Za-z. \ -_] + $/',' max: 150 ' ] ' – racl101

1

использование Alpha dash validation

'users.first_name' => 'required|min:2|alpha_dash|max:255', 
+0

*' alpha_dash' - Поле под проверкой может иметь буквенно-цифровые символы, а также тире и символы подчеркивания. * - Как насчет точки и пробела? –

+0

О! моя вина. не видел. точка. Кстати, я не знаю, почему первое имя будет включать точку. – Abhishek

+0

Первоначальный отец. –

Смежные вопросы