Подтвердить что ты не робот

Проблема с символом валидации шаблона Laravel

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

Проблема в том, что Laravel использует | символ для разделения правил проверки, принадлежащих полю.

Это не работает, он бросает

"preg_match: конечный разделитель//не найден":

'my_field' => 'match:/^(value1|value2|different value|yet another)$/'

Как убежать от | символ в этом случае, если символ \ не помогает?

4b9b3361

Ответ 1

По сути, ответ заключается в том, что вы не можете использовать канал, если задаете все правила в одной строке, как вы пытаетесь сделать. Запрос на растяжение, о котором упоминалось m.buettner, был закрыт. Тем не менее, Тейлер Отуэлл упомянул альтернативный метод, который вы можете использовать: укажите правила в массиве. Примером этого может быть:

$rules = array(
    'field' => array('size:5', 'match:/foo|bar/')
);