2016-07-26 4 views
1

Эй, ребята, я пытаюсь добавить правило проверки, чтобы принимать только буквы. Я использую правило regex, но он все еще не работает. Вот мой код нижеправило валидации laravel только для писем

/** 
    * Validate request/input 
    **/ 
    $this->validate($request, [ 
     'name' => 'required|regex:/^[\pL\s\-]+$/u|max:255|unique:users,name,'.$user->id, 
     'email' => 'required|email|max:255|unique:users,email,'.$user->id, 
    ]); 

Всякий раз, когда я ввести имя как Foo Foo его еще в успешной регистрации.

Любая идея, что я делаю неправильно?

+0

Попробуйте '' name '=> array (' required ',' regex:/^ [\ p {L} \ s -] + $/u ',' max: 255 ',' unique: users, name, '. $ user-> id), ' –

+0

@ WiktorStribiżew did not work. –

+0

И если вы удалите '/ u'? Просто используйте '' regex:/^ [\ p {L} \ s -] + $/''? –

ответ

4

Ваше регулярное выражение не удается, я думаю, я попробовал его на Regexr и не мог заставить его работать, попробуйте следующее:

'name' => 'required|regex:/^[a-zA-Z]+$/u|max:255|unique:users,name,'.$user->id, 

Позвольте мне знать, как вы получите на.

Вот регулярное выражение только:^[A-Za-Z] + $

+0

все еще не работает –

+0

Интересно, я только что заметил, что вы конкатенируете: $ user-> id, в конце этого, почему вы делаете это, я могу спросить, как Regexr показывает это регулярное выражение как работа:/ – ExohJosh

+0

Я работал в неправильном представлении/контроллере lmfaoooo, это сработало. –

0

По laravel documentation вы можете использовать:

  • alpha для совершенно алфавитных символов
  • alpha_dash для буквенно-цифровых символов , а также тире и символы подчеркивания и, наконец,
  • alpha_num для полностью буквенно-цифровых символов.
Смежные вопросы