Laravel验证与闭合时的独特之处

时间:2018-02-10 02:27:07

标签: php laravel validation

我有一张名为taxonomy的表格。它的列是idnameslugtype(标记,类别)。我为标签和类别创建了一个单独的控制器。

现在我需要在slug上应用一个独特的验证规则:

where type = tag

4 个答案:

答案 0 :(得分:1)

带有附加where子句的

Unique规则

'slug' => Rule::unique('taxonomy')->where(function ($query) {
     return $query->where('type', 'tag');
})

答案 1 :(得分:1)

您可以在单一验证功能中对uniqueinsert应用update这样的规则。

public function validateTaxonomy(Request $request){
    if(isset($request->id) && $request->id){
        $id = ','.$request->id.',id,type,'.$request->tag;
    }else{
        $id = ',Null,id,type,'.$request->tag;
    }
    $rules = [
            'slug' => 'required|unique:taxonomy,slug'.$id,
    ];
    return Validator::make($request->all(), $rules);
}

store函数

调用的示例
public function store(Request $request)
{
    $validator = $this->validateTaxonomy($request);
    if($validator->fails()){
        return redirect()->back()->withErrors($validator)->withInput();
    }
  ...
}

答案 2 :(得分:0)

试试这个:     ' POSTDATA' => '唯一的:表名,列名'

在此处查看更多验证: Validation Laravel

答案 3 :(得分:0)

Unique规则以及其他where子句

'slug' => Rule::unique('taxonomy')->where('type', 'tag')