Проблема с символом валидации шаблона Laravel
Используя каркас Laravel, мне нужно проверить значение отправленного поля по набору допустимых значений.
Проблема в том, что Laravel использует | символ для разделения правил проверки, принадлежащих полю.
Это не работает, он бросает
"preg_match: конечный разделитель//не найден":
'my_field' => 'match:/^(value1|value2|different value|yet another)$/'
Как убежать от |
символ в этом случае, если символ \
не помогает?
Ответы
Ответ 1
По сути, ответ заключается в том, что вы не можете использовать канал, если задаете все правила в одной строке, как вы пытаетесь сделать. Запрос на растяжение, о котором упоминалось m.buettner, был закрыт. Тем не менее, Тейлер Отуэлл упомянул альтернативный метод, который вы можете использовать: укажите правила в массиве. Примером этого может быть:
$rules = array(
'field' => array('size:5', 'match:/foo|bar/')
);