2016-12-16 64 views
1

林更新類別名稱類別,但我需要是唯一的,也是案件目前的紀錄讓它更新,但它不工作我的驗證。忽略更新形式

例子:

$this->validate($request, array(
       'category'   => 'required|unique:categories,name,:id|min:2' 
     )); 
+0

這是服務器端驗證嗎? – Sona

+1

@SoniyaReddy不,這是帕特里克。 (這是S.S.V.) – Mihailo

回答

1

unique()規則說明:

有時候,你不妨獨特的檢查過程中忽略一個給定的ID。例如,請考慮包含用戶名,電子郵件地址和位置的「更新配置文件」屏幕。當然,你會想驗證電子郵件地址是唯一的。但是,如果用戶只更改名稱字段而不更改電子郵件字段,則不需要拋出驗證錯誤,因爲用戶已經是電子郵件地址的所有者。

要指示驗證程序忽略了用戶的ID,我們將使用規則類流利定義規則。在這個例子中,我們還將驗證規則指定爲數組而不是使用|字符來劃分規則:

use Illuminate\Validation\Rule; 

Validator::make($data, [ 
    'email' => [ 
     'required', 
     Rule::unique('users')->ignore($user->id), 
    ], 
]);