使用表单请求Laravel 5.6中的唯一规则验证数组

时间:2018-08-28 17:33:58

标签: php laravel validation request laravel-validation

我要发送一个名为slug[]的输入,它是一个数组,其中包含每种categories语言[es, en]的子句,该输入包含一个像这样的表的子句

{
  "slug": {
    "1": "slug-de-prueba",
    "2": null //this field could be null or have a value;               
    //"2": "test-slug"
  },
}

我想验证form request中的每种代码的唯一性,语言1 [es] slug-de-prueba的示例应该唯一。现在,我正在执行此操作,但这并不能验证唯一规则

switch ($this->method()) {
        case 'POS':
            $rules['name.1']    = 'required';
            $rules['slug.*'][]  = 'required';
            $rules['slug.*'][]  = Rule::unique('translations_entries')->where(function($query){
                // here should go the lang of the slug I want to be unique
            });
            break;
        case "PUT":
            $rules['slug.*'] = Rule::unique('translations_entries')->ignore($this->route('categorias'));
            default:
                break;
        }

但是这样,我不知道如何让它知道应该对每个数组项验证哪种语言,而且在更新行时,响应的值也一样

{
  "slug": {
    "280": "slug-de-prueba",
    "282": null //this field could be null or have a value;               
    //"2": "test-slug"
  },
}

在更新时,我发送字段的ID,在那里我想忽略唯一字段的ID,我该怎么做?

0 个答案:

没有答案