2016-01-25 1 views
0

У меня есть правило проверки Laravel что-то вроде этогоLaravel Regex проверки (текст должен закончить с .jpg или .png)

public function rules(){ 
    return [ 
      'title' => 'required|max:100', 
      'featured_image' => 'required|max:100|regex:(\d)+.(?:jpe?g|png|gif)', 

     ]; 
} 

У меня есть поле, где я текстовый динамически добавлять имя изображения, что-то вроде этого (8123123123.jpg ИЛИ 234234234.png). Если текстовое поле не имеет этого шаблона, я хочу показать ошибку.

Теперь это регулярное выражение работает в http://regexr.com/, но в laravel это не так. Поэтому в основном это должно выглядеть для цифр, как имя файла и должно заканчиваться .jpg или .png

Любой помощь ценится

+0

что-то о неизвестном модификатором + и. Я думаю, это может быть из-за того, что это регулярное выражение для javascript –

+0

Или это может быть связано с символами трубы, так как laravel также следует за одним и тем же шаблоном для разделения разных правил. –

+0

Вам нужно избегать точки - как '\ .'. Кроме того, вам может потребоваться убедиться, что часть jpg/png/gif находится в самом конце строки, поэтому в сочетании это будет: '\. (?: jpe? G | png | gif) $' – Jan

ответ

1

использовать как этот

'featured_image' => ['required', 'max:100', 'regex:/(\d)+.(?:jpe?g|png|gif)/'] 

Вы должны добавить регулярное выражение DELIMITER http://php.net/manual/en/regexp.reference.delimiters.php

+0

Его не файл, его просто поле txt с именем файла. Файл уже загружен через запрос ajax –

+0

У меня есть ответ @omerFarooq PLS check –

+0

Спасибо, arif, но я уже пробовал это. Он дает сообщение об ошибке Неизвестный модификатор «+». Метод Виктора работал хорошо. –

0

Согласно docs вы должны положить валидации в массиве:

regex:pattern 

Поле под проверкой должно соответствовать данному регулярному выражению.

Примечание: при использовании шаблона регулярного выражения может потребоваться указать правила в массиве вместо использования ограничителей каналов, особенно если регулярное выражение содержит символ канала.

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