【问题标题】:Laravel Validation- check depend input valueLaravel 验证 - 检查依赖输入值
【发布时间】:2020-06-28 19:23:16
【问题描述】:

在我的验证函数中,某些字段与其他字段的输入值相关。那么如何验证呢。

例如:这是我的验证函数

 public static function validate($data) {
    return [
        'firstname'               => 'required',
        'local_or_expat'          => 'required',
    ];
}

所以这里如果local_or_expat 的值是expat,那么还有另一个字段country 是强制性的。

我该怎么做?

【问题讨论】:

    标签: laravel laravel-5.7


    【解决方案1】:

    你可以像这样使用required_if

    return [
        'firstname' => 'required',
        'local_or_expat' => 'required|in:local,expat',
        'country' => 'required_if:local_or_expat,expat',
    ];
    

    请参阅Laravel docs 了解更多信息。

    【讨论】:

      【解决方案2】:

      您可以为此使用 required_if 规则。

      public static function validate($data) {
          return [
              'firstname' => 'required',
              'local_or_expat' => 'required',
              'country' => 'required_if:local_or_expat,==,expat'
          ];
      }
      

      这条规则意味着如果 local_or_expat 值是 expat 则 country 也是必需的。 你也可以使用 Rule 类。

      use Illuminate\Validation\Rule;
      
      public static function validate($data) {
          return [
              'firstname' => 'required',
              'local_or_expat' => 'required',
              'country' => Rule::requiredIf($request->local_or_expat == 'expat'),
          ];
      }
      

      【讨论】:

        猜你喜欢
        • 2015-01-01
        • 2021-09-07
        • 2015-08-14
        • 1970-01-01
        • 2017-04-04
        • 2011-04-12
        • 1970-01-01
        • 2017-08-10
        • 2021-05-12
        相关资源
        最近更新 更多