php - 如何在 laravel 中使用 required_unless

标签 php laravel laravel-validation

我已经在 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'

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

问候

关于php - 如何在 laravel 中使用 required_unless,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37342037/

相关文章:

php - 从 FormRequest Laravel 重定向 session

php - 如何在 Laravel 5 表单请求中使用请求路由参数?

php - Laravel 验证 : required_with_all condition always passing

php - 使用 PHP 脚本更改 Linux 主机名

php - 使用PHP将mysql数据解析为json

php - 如何使用循环在左侧分配空格

php - Http Auth 不适用于 PHP

php - Laravel 5.5 枢轴连接以获取主 MySQL 结果的枢轴值

php - Laravel Mail::send() 在一个循环中

laravel - 如何在 AWS AutoScaling 中添加 Laravel env 文件