我在請求檔案夾上創建了一個驗證請求檔案。它在新插件中作業正常。但是當我更新時,它也不起作用,我傳遞了唯一的 $id 但不起作用。
一種。資源控制器更新方法
public function update(KlassNameRequest $request, $id)
{
$validated = $request->validated();
KlassName::where('id', $id)->update($validated);
}
灣。驗證碼
public function rules()
{
return [
'name' => 'required|unique:klass_names|max:128,' . $this->id,
'ref' => 'required|unique:klass_names|numeric|between:1,999,' . $this->id,
'seat_quota' => 'required|numeric|between:1,9999',
'division' => 'required',
'semester' => 'required',
];
}
當我更新時,此訊息顯示我

uj5u.com熱心網友回復:
回傳 [ 'name' => 'required|unique:klass_names,' 。$this->id.'|max:128', 'ref' => 'required|unique:klass_names,' 。$this->id.'|numeric|between:1,999', 'seat_quota' => 'required|numeric|between:1,9999', 'division' => 'required', '學期' => 'required', ];
uj5u.com熱心網友回復:
試試這個
'name' => ['required','max:128',Rule::unique('klass_names')->where(function ($query) {
return $query->where('name', $this->name);
})],
'ref' => ['required','max:128',Rule::unique('klass_names')->where(function ($query) {
return $query->where('ref', $this-> ref);
})],
希望能解決問題??
uj5u.com熱心網友回復:
我以這種方式解決了我的問題-
一種。為 $request 方法添加額外的輸入隱藏欄位傳遞 id。因為我的路線是資源組路線-
<form action="{{ route('adm.kls.update', $kls->id) }}" method="post">
@csrf
@method('PUT')
<input type="hidden" name="id" value="{{ $kls->id }}">
</form>
灣。驗證代碼中的一些編輯。
public function rules() {
return [
'name' => 'required|max:128|unique:klass_names,name,' . $this->id,
'ref' => 'required|numeric|between:1,999|unique:klass_names,ref,' . $this->id,
'seat_quota' => 'required|numeric|between:1,9999',
];
}
干杯!
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/430337.html
上一篇:Laravel中的哈希
下一篇:Laravel讀取陣列內陣列的值
