【问题标题】:How to perform validation check only if user input some value in the field in Laravel仅当用户在 Laravel 的字段中输入某些值时如何执行验证检查
【发布时间】:2018-10-05 09:12:49
【问题描述】:

我是 Laravel 的新手。我只想在用户在密码文本字段中输入一些值时执行验证检查。否则,不要对密码字段执行验证检查。

我搜索了类似的问题,但没有找到任何满意的答案。

提前感谢您的帮助。

更新:这是我的验证代码

public function rules()
    {
        $rules = [];

        $rules['profile_password'] ='sometimes|nullable|string|min:6|confirmed';
        $rules['profile_name'] = 'required|string|max:255';
        $rules['profile_email'] = 'required|string|email|max:255';
        $rules['profile_birth_day'] = 'date';
        $rules['profile_website'] = 'url';
        $rules['profile_facebook'] = 'url';
        $rules['profile_twitter'] = 'url';
        $rules['profile_google_plus'] = 'url';
        $rules['profile_you_tube'] = 'url';

        return $rules;
    }

【问题讨论】:

  • 你读过Laravel Docs吗?
  • 是的,我做到了。我发现了一些东西,但这对我不起作用。我还去了 laracast,发现带有 has() 的 if 语句对我也不起作用。
  • 你想要什么验证?也分享你的代码?
  • 您要验证它以进行配置文件更新吗?我想如果你只是提供你的尝试,你的问题不会得到反对票。
  • 是的,我想验证配置文件更新。我已经添加了我的代码。

标签: laravel validation


【解决方案1】:

如果你愿意,你可以试试这个代码:

if(!empty($request->input('password'))){
  // perform the validation with password
} else{
  // perform the validation without password
}

【讨论】:

    【解决方案2】:

    不要使用required 规则

     "password" => "min:6 | max:12"
    

    只有填写密码字段时,密码的长度才会为 6 到 12。

    【讨论】:

      猜你喜欢
      • 2015-08-28
      • 2021-12-09
      • 1970-01-01
      • 2020-07-20
      • 1970-01-01
      • 2020-03-01
      • 2020-09-22
      • 2021-05-08
      • 1970-01-01
      相关资源
      最近更新 更多