سؤال

يمكنني استخدام المكون الإضافي jQueryLive لإضافة فصول CSS إضافية إلى فئة خطوة التحقق من الصحة.

$(".field-validation-error").livequery(function () { 
    $(this).addClass('ui-state-error ui-corner-all'); 
});

عندما أحصل على بعض الامتدادات مع هذه الفئة التي تم إنشاؤها بواسطة jQuery.validate أعمال الرمز أعلاه ، ولكن في 2nd التحقق من الصحة لا.

ها هو الرابط المباشر: http://mrgsp.md:8080/awesome/personانقر فوق إنشاء بعد انقر فوق حفظ للحصول على رسائل التحقق من الصحة وانقر مرة أخرى على حفظ

هل كانت مفيدة؟

المحلول

لماذا لا تربط وظيفتك في نفس الحدث الذي يؤدي إلى التحقق من صحة ()؟

تحديث

قرأت التعليقات الأخرى ورأيت أنك تستخدم XVAL ، وقراءة قليلاً على jQuery.validate أيضًا. jquery.validate يربط مع العديد من الأحداث والتسجيل في معالجات الأحداث سيكون فوضوي. السبب في أن LiveQuery يعمل لأول مرة هو أن العلامات يتم إنشاؤها إذا لم تكن موجودة من قبل ، لذا فإن حدث الإنشاء يعمل على تشغيل الوظيفة ، في كل مرة بعد هذا ، يتم إخفاء الملصق/عرضه حتى لا يتم تشغيله مرة أخرى ولكن jQuery. التحقق من صحة وظيفة showlabel إعادة تعيين الفصول.

المكان المثالي في XVAL من خلال إجراء تغيير صغير واحد في xVal.jquery.validate.js ملف. في ال _ensureFormIsMarkedForValidation الطريقة هي الخطوط:

ensureFormIsMarkedForValidation: function(formElement, options) {
        if (!formElement.data("isMarkedForValidation")) {
            formElement.data("isMarkedForValidation", true);
            var validationOptions = {
                errorClass: "field-validation-error",

كل ما يجب عليك فعله هو تغيير errorclass إلى:

errorClass: "field-validation-error ui-state-error ui-corner-all",

وذلك لأن XVAL تقوم بإعداد المكون الإضافي التحقق من صحة.

نصائح أخرى

ألا يمكنك فقط خيار errorclass؟

$(".selector").validate({
   errorClass: "field-validation-error ui-state-error ui-corner-all"
})

أو ربما:

$.validator.setDefaults({ 
   errorClass: "field-validation-error ui-state-error ui-corner-all"
});
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top