Codeigniter 4 の is_unique ルール検証でレコードの更新時に非固有エラーがスローされる
P粉617597173
P粉617597173 2024-01-10 16:31:46
0
1
529

データベースにデータを保存する単純なフォームがあり、Title フィールドには、他のルールとともに is_unique 検証ルールがあります。私の TaskModel 検証ルールは次のとおりです:

リーリー

これで、データベースにデータを追加すると、すべてが期待どおりに実行されます。 問題は、レコードを更新しようとすると、たとえば作成者名を変更すると、フォームを送信すると、タイトルは一意である必要があると表示されることです。編集しているデータベース内のレコードの行を無視して、他の入力との一意性をチェックするようにしたいと考えています。 これを達成するのを手伝ってくれませんか?フォームを通じてレコード ID を渡し、一意性をチェックするときに無視することを考えていますが、ID を検証ルールに渡す方法がわかりません。

P粉617597173
P粉617597173

全員に返信(1)
P粉752479467

行の ID をパラメータとして is_unique ルールに渡すことができます。のように### リーリー ###お役に立てれば :)###

更新: 詳しい手順

2 番目のパラメータ Id

はデータベース フィールドの名前です。 3 番目はフォームから渡された

Id です。これを行うには、編集フォームに隠しフィールドを追加し、その name = Id とその value=$data['Id'] を設定します。ここで、$data['Id'] は、データベースから取得されてビューに渡される行の Id です。したがって、フォームが送信されると、Id$_POST で送信されます。次に、それをルール パラメーターに渡します。 {ID} ######お役に立てれば :(######

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート