国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Codeigniter 4中的is_unique規(guī)則驗證在更新記錄時拋出非唯一錯誤
P粉617597173
P粉617597173 2024-01-10 16:31:46
0
1
986

我有一個簡單的表單,在資料庫中儲存一些數(shù)據(jù),對於 Title 字段,我有一個 is_unique 驗證規(guī)則以及其他規(guī)則。以下是我的 TaskModel 驗證規(guī)則:

protected $validationRules = [
        'Title' => 'required|min_length[5]|max_length[15]|is_unique[tasks.Title]',
        'Description' => 'required|max_length[300]',
        'CreatedAt' => 'required',
        'UpdatedAt' => 'required',
        'DueDate' => 'required|ValidateDueDate[DueDate]',
        'AssignedTo' => 'required',
        'Author' => 'required'
    ];

現(xiàn)在,將資料新增至資料庫時,一切都如預(yù)期運作。 問題是,當(dāng)我嘗試更新記錄時,假設(shè)我更改了作者姓名,當(dāng)我提交表單時,它說標(biāo)題應(yīng)該是唯一的。我希望它忽略我正在編輯的資料庫中的記錄行,並與其他人檢查輸入的唯一性。 你能幫助我實現(xiàn)這個目標(biāo)嗎?我正在考慮透過表單傳遞記錄 ID,並在檢查唯一性時忽略它,但我不知道如何將 ID 傳遞給驗證規(guī)則。

P粉617597173
P粉617597173

全部回覆(1)
P粉752479467

您可以將行的 ID 作為參數(shù)傳遞到 is_unique 規(guī)則中。喜歡

is_unique[tasks.Title,Id,{Id}]

希望這有幫助:)

更新:更詳細的說明

第二個參數(shù)Id是資料庫欄位名稱。第三個是從表單傳遞的Id。為此,在編輯表單中新增一個隱藏字段,然後設(shè)定其 name = Id 及其 value=$data['Id']。其中 $data['Id'] 是從資料庫取得並傳遞到視圖的行的 Id。因此,當(dāng)提交表單時,Id 將在 $_POST 中提交。然後將其傳遞給規(guī)則參數(shù): {Id}

希望這有幫助:(

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板