【问题标题】:Laravel controller validation of request with nested parametersLaravel 控制器使用嵌套参数验证请求
【发布时间】:2020-01-23 00:41:13
【问题描述】:

我试图在我的控制器中验证嵌套参数的请求,但我无法让它工作。我确实在网上找到了一些资源并尝试了不同的东西但没有成功。 这是将数据发送到控制器的脚本:

var fieldsValuePair = {
    type: this.history.type
};

axios.get('/app/admin/cms/clients/processActivity', {
   params: {
      fieldsValuePair: fieldsValuePair,
      hid: this.history.hid
   }
})
.then((response) => {})
.catch(error => {
     this.errors = [];
     this.errors = error.response.data;
     console.log(this.errors);
});

这是我在控制器中的验证:

$this->validate($request, ['type' => 'required'] , ['activity-type.required']);

我想说,如果我在 hid: this.history.hid 之后的 axios 请求中添加:type: this.history.type,那么验证工作正常。 我想要实现的是在fieldsValuePair 对象中有type: this.history.type,并在控制器中正确验证。

【问题讨论】:

    标签: laravel validation


    【解决方案1】:

    我确实找到了解决方案,但不确定这是否是最好的解决方案。至少它对我有用。

    $rulesArray = [];
        $fieldsValuePairArray = json_decode($request['fieldsValuePair'], true);
        foreach ($fieldsValuePairArray as $key => $value) {
            if($value == '')
                $rulesArray[$key] = 'required';
        }
    
        $this->validate($request, $rulesArray , ['activity-type.required']);
    

    【讨论】:

      猜你喜欢
      • 2021-12-26
      • 2019-02-25
      • 1970-01-01
      • 2019-12-29
      • 1970-01-01
      • 1970-01-01
      • 2021-06-02
      • 1970-01-01
      • 2018-03-23
      相关资源
      最近更新 更多