Rumah  >  Soal Jawab  >  teks badan

pengesahan peraturan is_unique dalam Codeigniter 4 membuang ralat bukan unik semasa mengemas kini rekod

Saya mempunyai borang ringkas yang menyimpan beberapa data dalam pangkalan data, dan untuk medan Tajuk saya mempunyai peraturan pengesahan is_unique bersama dengan peraturan lain. Berikut ialah peraturan pengesahan TaskModel saya:

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'
    ];

Kini apabila menambah data ke pangkalan data semuanya berfungsi seperti yang diharapkan. Masalahnya, bila saya cuba kemaskini rekod, katakan saya tukar nama pengarang, apabila saya hantar borang, ia mengatakan tajuk itu harus unik. Saya mahu ia mengabaikan barisan rekod dalam pangkalan data yang saya edit dan menyemak keunikan input dengan orang lain. Bolehkah anda membantu saya mencapai ini? Saya berfikir untuk menghantar ID rekod melalui borang dan mengabaikannya semasa menyemak keunikan, tetapi saya tidak tahu cara untuk menghantar ID kepada peraturan pengesahan.

P粉617597173P粉617597173306 hari yang lalu478

membalas semua(1)saya akan balas

  • P粉752479467

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

    Anda boleh menghantar ID baris sebagai parameter kepada peraturan is_unique. Suka

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

    Semoga ini membantu :)

    Kemas kini: Arahan yang lebih terperinci

    Parameter kedua Id ialah nama medan pangkalan data. Yang ketiga ialah Id yang dihantar dari borang. Untuk melakukan ini, tambahkan medan tersembunyi pada borang edit dan tetapkan name = Id dan value=$data['Id']nya. Di mana $data['Id'] ialah name = Id 及其 value=$data['Id']。其中 $data['Id'] 是从数据库获取并传递到视图的行的 Id。因此,当提交表单时,Id 将在 $_POSTId{Id} baris yang diperoleh daripada pangkalan data dan dihantar ke paparan. Jadi apabila borang diserahkan,

    Id

    akan diserahkan dalam $_POST. Kemudian hantar ke parameter peraturan:

    🎜Semoga ini membantu :(🎜🎜

    balas
    0
  • Batalbalas