Включить JS с JQueryValidation - PullRequest
       4

Включить JS с JQueryValidation

0 голосов
/ 11 ноября 2011

Я использую в своем приложении jQuery Validation. но теперь мы планируем объявить все переменные сообщения об ошибке в отдельном файле (ErrMsgs.js) и использовать их вместо сообщений об ошибках в плагине проверки JQuery (jquery.validate.min.js).

Некоторые Как мне включить файл ErrMsgs.js в файл jquery.validate.min.js, чтобы я мог использовать переменную, объявленную в ErrMsgs.js

Я использовал приведенный ниже скрипт в jquery.validate.min.js

loadJavaScriptFile("Scripts/ErrMsgs.js");

function loadJavaScriptFile(jspath) {
     document.write('<script type="text/javascript" src="' + jspath + '"><\/script>');
}

но я не могу использовать переменные, объявленные в ErrMsgs.js.

Пожалуйста, предложите мне решение.

Спасибо.

Ответы [ 2 ]

1 голос
/ 11 ноября 2011

Вы можете просто поместить в файл ErrMsgs.js следующее:

$.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: $.validator.format("Please enter no more than {0} characters."),
    minlength: $.validator.format("Please enter at least {0} characters."),
    rangelength: $.validator.format("Please enter a value between {0} and {1} characters long."),
    range: $.validator.format("Please enter a value between {0} and {1}."),
    max: $.validator.format("Please enter a value less than or equal to {0}."),
    min: $.validator.format("Please enter a value greater than or equal to {0}.")
});

и затем включить его, как любой другой файл JavaScript:

<script type="text/javascript" src="ErrMsgs.js"></script>

РЕДАКТИРОВАТЬ:

Исходя из комментариев, что это переменные, которые должны использоваться в другом месте, возможно, будет работать следующее.

 var msg1 = "This field is required.",
     msg2 = "Please fix this field.",

     // etc., etc.

 $.extend(jQuery.validator.messages, {
    required: msg1,
    remote: msg2,

    //  etc. etc.

});

$.extend(jQuery.xyz.messages, {
    required: msg1,
    remote: msg2,

    //  etc. etc.

});
1 голос
/ 11 ноября 2011

Вы можете использовать загрузчик javascript, такой как http://requirejs.org/ или http://www.andresvidal.com/jsl. Если вы предпочитаете jQuery, я только что нашел это http://api.jquery.com/jQuery.getScript/,, он использует вызов jQuery ajax, но анализирует результат как скрипт на успех.

Каждый из них позволяет вам выполнить свой собственный код в случае успеха, поэтому вы сможете прикрепить его к объекту сообщений валидатора или как угодно, как показано ниже (пример jQuery):

$.getScript("Scripts/ErrMsgs.js", function(data, textStatus){
   $.extend(jQuery.validator.messages, myCustomErrorMessages);
});

Если вы попытаетесь загрузить скрипт так, как вы это делаете в настоящее время, я не думаю, что браузер проанализирует строку как javascript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...