Php Laravel 5验证器-必填项,如果在同一字段上,则为必填项

Php Laravel 5验证器-必填项,如果在同一字段上,则为必填项,php,laravel-5,Php,Laravel 5,我有一个独特的情况,涉及验证邮件列表上的用户。我有3个字段:在邮件列表上,邮件地址,以及邮件 想法是,如果此人不在邮件列表中,则不需要邮寄地址或邮寄电子邮件。 但是,如果他们在邮件列表中,他们至少需要两条联系信息中的一条 我的第一个想法是这样的: $rules = array( 'on_mailing_list' => '', 'mailing_address' => 'required_if:on_mailing_list,1,mailing_email,',

我有一个独特的情况,涉及验证邮件列表上的用户。我有3个字段:
在邮件列表上
邮件地址
,以及
邮件

想法是,如果此人不在邮件列表中,则不需要
邮寄地址
邮寄电子邮件
。 但是,如果他们在邮件列表中,他们至少需要两条联系信息中的一条

我的第一个想法是这样的:

$rules = array(
    'on_mailing_list' => '',
    'mailing_address' => 'required_if:on_mailing_list,1,mailing_email,',
    'mailing_email' => 'required_if:on_mailing_list,1,mailing_address,',
);
但我的第一个想法是:“如果Laravel不讨厌
required\u中的空值,我会感到惊讶,如果
。”

我不确定空值是否将其丢弃,但当邮件列表上的
为false时,它仍然认为它们是必需的

所以我尝试了以下方法

$rules = array(
    'on_mailing_list' => '',
    'mailing_address' => array(
        'required_if:on_mailing_list,1',
        'required_without:mailing_email'
    ),
    'mailing_email' => array(
        'required_if:on_mailing_list,1',
        'required_without:mailing_address'
    ),
);
但这不起作用,因为当邮件列表上的
为false时,不带
required\u仍会触发


有什么想法吗?提前感谢。

创建两组规则和两个不同的验证函数。虽然这是一个想法,但实际上表单要比这大得多,也更复杂。我可以有条件地添加验证规则,但这里希望存在一个内置的解决方案。