duandai2178 2018-07-05 21:08
浏览 51
已采纳

验证流明数据中的密钥

I am validating a request that looks like this:

 {
  "data": [
    {
      "id": 1,
      "name": "Foo",     
      "values":{
        "val1":"This",
        "99":"That"
      }
    }
  ]
}

Here is my custom messages:

$messages = [
     'data.id'=>'is required',
     'data.name'=>'is required',
     'data.values'=>'must be array',
     'data.values.*'=>'must be numeric'
];

My validation rule is this:

$this->validate(
            $request,
            [
                'data'=>'required|array',
                'data.*.id'=>'required|numeric',
                'data.*.name'=>'required',
                'data.*.values'=>'array',
                'data.*.values.*'=>'numeric'
             ],
            $messages
        );

The rule validates the values in the "values" array. I want to validate the key in the "values" array [val1, 99] instead.

  • 写回答

1条回答 默认 最新

  • doufen3563 2018-07-05 21:50
    关注

    Write a custom validation rule for data.*.values:

    'data.*.values' => function($attribute, $value, $fail) {
        //$value contains your array of $key => $value pairs for you to loop through
        if( /* doesn't pass your rules */){
            return $fail('custom validation failed');
        }
    },
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程