Isu Pengesahan Medan Diperlukan dalam Pop Timbul JQuery dalam MVC 4
Anda telah menghadapi cabaran apabila pengesahan medan yang diperlukan tidak berfungsi dengan betul dalam JQuery pop timbul. Walaupun menetapkan atribut yang diperlukan dalam model dan mentakrifkan mesej pengesahan dalam paparan, pengesahan ini kekal tidak boleh beroperasi dalam pop timbul.
Inti isu ini terletak pada fakta bahawa pengesah dihuraikan hanya semasa pemuatan halaman awal. Apabila kandungan dinamik, seperti tetingkap timbul JQuery anda, ditambahkan selepas pemuatan awal, pengesah perlu dibuat semula secara manual untuk mengecam elemen baharu ini.
Untuk membetulkannya, anda perlu mengubah suai skrip anda untuk memasukkan baris berikut:
$(this).load(actionURL, function (html) { // Reparse the validator var form = $('form'); form.data('validator', null); $.validator.unobtrusive.parse(form); // Your existing code can resume here $('form', html).submit(function () { ...
Kod ini memastikan bahawa pengesah dipecahkan semula setiap kali pop timbul dimuatkan, sekali gus membolehkan pengesahan medan yang diperlukan berfungsi dalam pop timbul tersebut.
Sebagai nota sampingan, sahkan bahawa kod anda termasuk @Html.ValidationMessageFor(m => m.MaterialCode) untuk memaparkan mesej pengesahan dengan sewajarnya.
Atas ialah kandungan terperinci Mengapa Pengesahan Medan Diperlukan Tidak Berfungsi dalam Pop Timbul JQuery Saya Dalam MVC 4?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!