ホームページ  >  に質問  >  本文

Codeigniter 4 の is_unique ルール検証でレコードの更新時に非固有エラーがスローされる

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

リーリー

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

P粉617597173P粉617597173306日前483

全員に返信(1)返信します

  • P粉752479467

    P粉7524794672024-01-11 11:36:11

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

    更新: 詳しい手順

    2 番目のパラメータ Id

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

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

    返事
    0
  • キャンセル返事