Rumah > Soal Jawab > teks badan
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粉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 将在 $_POST
Id{Id}
baris yang diperoleh daripada pangkalan data dan dihantar ke paparan. Jadi apabila borang diserahkan,
akan diserahkan dalam $_POST
. Kemudian hantar ke parameter peraturan: