【问题标题】:Laravel - Validation - Require if field is nullLaravel - 验证 - 如果字段为空则需要
【发布时间】:2016-12-18 01:14:00
【问题描述】:

假设我有这个 html 代码:

<input type="email" name="email">
<input type="password" name="password">

或者这个:

<input type="hidden" name="user_id" value="1">

(如果用户已登录,则只会显示 user_id 字段。否则 - 凭据字段)。

当我创建一个请求时,会有一个检查用户的验证。如果字段user_id 存在(即如果user_id 存在于用户表中),则不需要emailpassword 输入。如果没有user_id,则需要emailpassword 字段。

换句话说,我想做这样的事情:

public function rules()
{
    return [
        'user_id'   => 'exists:users,id',
        'email'     => 'required_if_null:user_id|email|...',
        'password'  => 'required_if_null:user_id|...'
    ];
}

【问题讨论】:

    标签: php validation laravel require


    【解决方案1】:

    再次阅读验证文档后,我找到了解决方案。我只需要做相反的事情,使用required_without 验证:

    public function rules()
    {
        return [
            'user_id'       => 'exists:users,id',
            'email'         => 'required_without:user_id|email|unique:users,email',
            'password'      => 'required_without:user_id',
    }
    

    【讨论】:

      猜你喜欢
      • 2017-06-07
      • 2019-05-18
      • 2021-12-10
      • 2022-01-17
      • 1970-01-01
      • 1970-01-01
      • 2017-11-19
      • 2018-09-11
      • 2019-12-16
      相关资源
      最近更新 更多