【问题标题】:Laravel multi dimensional array validationLaravel 多维数组验证
【发布时间】:2019-09-09 11:49:53
【问题描述】:

我正在尝试在 Laravel 中验证一个多维数组。这整个输入本身不是必需的,但是,如果它存在,它的所有键都应该有一些值。

我的输入具有动态输入数组。 示例:

 $users = [    
    ['name' => 'John' , 'Age' => 25],    
    ['name' => 'Nick' , 'Age' => 28] 
 ]

我的要求是,如果记录与请求一起发送,则它必须包含姓名和年龄。同时,这整个数组不是强制性的。

我可以接受

$users = [] 

不能接受

$users = [    
    ['name' => '' , 'Age' => 25],    
    ['name' => 'Nick' , 'Age' => null] 
 ]

【问题讨论】:

    标签: laravel laravel-5 laravel-5.4


    【解决方案1】:

    您的请求中的类似内容应该可以工作:

    public function rules()
    {
        return [
            'users' => 'array', //add 'sometimes' if the array can be null other than empty
            'users.*.name' => 'required',
            'users.*.Age' => 'required',
        ]
    }
    

    如果任何用户缺少姓名或年龄属性,则返回 false。

    【讨论】:

      【解决方案2】:

      我喜欢@Shafeel 的解决方案 - 这是另一种解决方法:

      if(count($users >= 1){
        foreach($users as $user) {
          if(empty($user->name) || empty($user->age) {
            return false; //break the loop and return with error message
          }
        }
      }
      

      【讨论】:

        猜你喜欢
        • 2014-09-13
        • 2020-08-06
        • 2014-01-28
        • 1970-01-01
        • 2020-05-23
        • 2016-07-14
        • 1970-01-01
        • 2022-10-07
        • 2015-11-20
        相关资源
        最近更新 更多