我有一个独特的情况,涉及验证邮件列表上的用户。我有3个字段:on_mailing_list
,mailing_address
和mailing_email
。
这个想法是,如果此人不在邮件列表中,则不需要mailing_address
和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_if
中没有讨厌那些空的值,我会感到惊讶...&#34 ;
我不确定空值是否将其丢弃,但是当on_mailing_list
为假时,它仍然认为它们是必需的。
所以我尝试了以下......
$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'
),
);
但这不起作用,因为required_without
在on_mailing_list
为假时仍会触发。
有什么想法吗?提前谢谢。