Я использую Ardent с Laravel. Мы работаем над сайтом, который позволяет только американским клиентам, но мы также распространяем его на канадских клиентов. Одно из наших требований состоит в том, чтобы почтовый индекс был длиной 5-9 символов, все цифры (мы убираем тире и другие знаки препинания для проверки).
Мы хотим иметь проверку и для почтовых индексов, но только для postal_codes, которые требуются, если zip_code не предлагается (и наоборот). Это возможно? Теоретически мы могли бы использовать только одно поле, но нам понадобилось бы более сложное регулярное выражение.
На моем сайте я работаю с полем страны:
public static $rules = array(
'postal_code' => 'required_if:country,CAN',
'zip_code' => 'required_if:country,USA',
)
Вы также можете использовать required_without.
Других решений пока нет …