如何在 laravel 中使用 required_unless

How to use required_unless in laravel

我已经在 Laravel 中完成了验证。我从 Laravel Validations Rules

中获取了很多验证规则

我想在以下条件下使用 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',            
    );

我想添加 电子邮件和密码的验证规则 只有 需要 如果注册 facebook 或 google 不是尝试过。

我相信我们可以使用 required_unlessrequired_if

请帮我解决这个问题。

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

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

'email' => 'required_without_all:facebookID,googleID',
'password' => 'required_without_all:facebookID,googleID'

参考link给你:https://laravel.com/docs/5.1/validation#rule-required-without-all

此致