Php Laravel 5验证器-必填项,如果在同一字段上,则为必填项
我有一个独特的情况,涉及验证邮件列表上的用户。我有3个字段: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,',
在邮件列表上
,邮件地址
,以及邮件
想法是,如果此人不在邮件列表中,则不需要邮寄地址
或邮寄电子邮件
。
但是,如果他们在邮件列表中,他们至少需要两条联系信息中的一条
我的第一个想法是这样的:
$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仍会触发
有什么想法吗?提前感谢。创建两组规则和两个不同的验证函数。虽然这是一个想法,但实际上表单要比这大得多,也更复杂。我可以有条件地添加验证规则,但这里希望存在一个内置的解决方案。