Laravel验证器,更新信息时的唯一值

时间:2017-05-15 22:05:33

标签: php laravel validation

所以我有验证器检查reg_number是否唯一。我用它来创建新条目(该部分工作)。但是,当我尝试使用另一种形式更新现有的时候 - 我得到reg_number已经存在的错误(逻辑)。所以我的问题是如何编辑规则,当我尝试更新(更新其他字段并保持reg_number相同)并且不创建新的规则时它会产生异常。在其他论坛中找到了一些东西(在规则的最后添加),但它不起作用。代码如下:

    public function rules()
    {
        return [
        				'reg_number'=>'required|max:6|min:6|unique:cars'.$this->cars['reg_number'],
        				'brand'=>'required',
        				'model'=>'required'
        	
        		];
    }

干杯!

1 个答案:

答案 0 :(得分:2)

有关如何在Laravel docs中执行此操作的示例。

基本上,您可以从此规则中添加要排除的模型实例的ID。 E.g:

public function rules()
{
    return [
        'reg_number' => ['required', 'max:6', 'min:6', 'unique:cars,reg_number,' . $this->id],
        'brand'      => ['required'],
        'model'      => ['required'],
    ];
}