jquery documentation




التحقق من صحة jQuery: تغيير رسالة الخطأ الافتراضية (8)

هل هناك طريقة بسيطة لتغيير قيم الخطأ الافتراضية في المكون الإضافي للتحقق من jQuery ؟

أريد فقط إعادة كتابة رسائل الخطأ لتكون أكثر شخصية في تطبيقي - لدي الكثير من الحقول ، لذلك لا أريد تعيين الرسالة بشكل فردي للحقل x ... أعلم أنني أستطيع فعل ذلك!


@ جوش: يمكنك توسيع الحل الخاص بك مع رسالة مترجمة من حزمة الموارد الخاصة بك

<script type="text/javascript">
    $.validator.messages.number = '@Html.Raw(@Resources.General.ErrorMessageNotANumber)';
</script>

إذا وضعت هذا الكود في الجزء الخاص بك _Layout.cshtml (MVC) ، فإنه متاح لجميع وجهات نظرك


أضف هذه الشفرة في ملف / نص برمجي منفصل مضمّن بعد المكوِّن الإضافي لعملية التحقق لتجاوز الرسائل ، وعدّل في will :)

jQuery.extend(jQuery.validator.messages, {
    required: "This field is required.",
    remote: "Please fix this field.",
    email: "Please enter a valid email address.",
    url: "Please enter a valid URL.",
    date: "Please enter a valid date.",
    dateISO: "Please enter a valid date (ISO).",
    number: "Please enter a valid number.",
    digits: "Please enter only digits.",
    creditcard: "Please enter a valid credit card number.",
    equalTo: "Please enter the same value again.",
    accept: "Please enter a value with a valid extension.",
    maxlength: jQuery.validator.format("Please enter no more than {0} characters."),
    minlength: jQuery.validator.format("Please enter at least {0} characters."),
    rangelength: jQuery.validator.format("Please enter a value between {0} and {1} characters long."),
    range: jQuery.validator.format("Please enter a value between {0} and {1}."),
    max: jQuery.validator.format("Please enter a value less than or equal to {0}."),
    min: jQuery.validator.format("Please enter a value greater than or equal to {0}.")
});

بدلاً من رسائل الخطأ المخصصة هذه ، يمكننا تحديد نوع حقل النص.

Ex: set type of the field in to type = 'email'

ثم تحديد البرنامج المساعد الحقل والتحقق من صحة بشكل صحيح.


لإزالة جميع رسائل الخطأ الافتراضية المستخدمة

$.validator.messages.required = "";

نظرًا لأننا نستخدم حاليًا JQuery ، يمكننا السماح لمصممي الصفحات بإضافة رسائل مخصصة إلى الترميز بدلاً من الشفرة:

<input ... data-msg-required="my message" ...

أو ، حل أكثر عمومية باستخدام سمة msg للبيانات قصيرة واحدة في جميع الحقول:

<form id="form1">
    <input type="text" id="firstName" name="firstName" 
        data-msg="Please enter your first name" />
    <br />
    <input type="text" id="lastName" name="lastName" 
        data-msg="Please enter your last name" />
    <br />
    <input type="submit" />
</form>

ثم يحتوي التعليمة البرمجية على شيء كالتالي:

function getMsg(selector) {
    return $(selector).attr('data-msg');
}

$('#form1').validate({
    // ...
    messages: {
        firstName: getMsg('#firstName'),
        lastName: getMsg('#lastName')
    }
    // ...
});

هذا العمل بالنسبة لي:

$.validator.messages.required = 'required';

هناك حل آخر محتمل يتمثل في التكرار عبر الحقول ، مع إضافة نفس رسالة الخطأ إلى كل حقل.

$('.required').each(function(index) {
  $(this).rules("add", {
    messages: {
      required: "Custom error message."
   }
  });
});

يحتوي الإصدار الأحدث على بعض الأشياء اللطيفة التي يمكنك القيام بها.

إذا كان حقل إدخال بسيط ، يمكنك إضافة سمة data-validation-error-msg مثل هذا -

data-validation-error-msg="Invalid Regex"

إذا كنت بحاجة إلى شيء أثقل قليلاً ، يمكنك تخصيص الأشياء بالكامل باستخدام متغير مع جميع القيم التي يتم تمريرها إلى وظيفة التحقق. الرجوع إلى هذا الرابط للحصول على التفاصيل الكاملة - https://github.com/victorjonsson/jQuery-Form-Validator#fully-customizable





jquery-validate