可选的热心要求

Optional Ardent Requirement

我在 Laravel 中使用 Ardent。我们正在开发一个只允许美国客户访问的站点,但我们也正在将其扩展到加拿大客户。我们的要求之一是邮政编码长度为 5-9 个字符,全部为数字(我们去掉破折号和其他标点符号以进行验证)。

我们也希望对邮政编码进行验证,但只有在未提供 zip_code 时才需要 postal_codes(反之亦然)。这可能吗?理论上我们可以只使用一个字段,但我们必须有一个更复杂的正则表达式。

在我的站点中,我使用国家字段处理此问题:

public static $rules = array(
    'postal_code' => 'required_if:country,CAN',
    'zip_code' => 'required_if:country,USA',
)

您也可以使用 required_without.