如何在laravel中使用required_unless

Chi*_*027 3 php laravel laravel-validation

我已经完成了Laravel的验证.我从Laravel验证规则中采用了很多验证规则

我想 为以下条件使用required_unless规则.

$rules = array(
        'facebookID' => 'alpha_num',
        'googleID' => 'alpha_num',
        'email' => 'required_unless:facebookID,null|required_unless:facebookID,null|email|max:32',
        'password' => 'required_unless:facebookID,""|required_unless:googleID,""|max:20',            
    );
Run Code Online (Sandbox Code Playgroud)

我想添加电子邮件和密码的验证规则只有在未尝试使用facebook或google注册时才需要.

我相信我们可以使用required_unlessrequired_if

请帮我解决这个问题.

Dat*_*ham 6

laravel验证规则只接受值,即平均值required_unless:facebookID,null被评估为:除非facebookID ='null',否则该字段是必需的.所以这不是你需要的情况.

我建议的解决方案是使用require_without_all:

'email' => 'required_without_all:facebookID,googleID',
'password' => 'required_without_all:facebookID,googleID'
Run Code Online (Sandbox Code Playgroud)

您的参考链接:https://laravel.com/docs/5.1/validation#rule-required-without-all

问候