интегрировать механизм проверки jquery с mvc3 - PullRequest
0 голосов
/ 22 сентября 2011

Я довольно новичок в MVC3, но я уже изучаю, как обрабатывать пользовательские проверки и клиент-сервер. Но что произойдет, если вместо использования jquery-validate для проверок на стороне клиента я захочу использовать другой плагин под названием jquery-validation engine. Как начать?

Ответы [ 3 ]

1 голос
/ 14 июня 2012

Если вы хотите использовать механизм проверки jquery, взгляните на блог Питера он реализовал метод HTML Helper Extension для использования аннотаций данных в mvc с механизмом проверки jquery.

1 голос
/ 22 сентября 2011

Итак, вы начинаете с отключения ненавязчивой проверки:

<appSettings>
    ...
    <add key="ClientValidationEnabled" value="false"/>
</appSettings>

и удаления всех ссылок на скрипты jquery.validate.js и jquery.validate-unobtrusive.js со своей страницы.Затем вы читаете документацию плагина, который вы хотите использовать, попробуйте некоторые демонстрации , загрузите плагин, импортируйте необходимые скрипты на свою страницу и начнете присоединяться к своей форме.элементы.Не ожидай чудес.Ничто не будет повторять ваши правила проверки на стороне сервера, определенные аннотациями данных на клиенте, если вы не напишите код для себя.

Если вы сохраните параметр ClientValidationEnabled в true в своем файле web.config, помощники HTML продолжат испускать атрибуты data-* HTML-5, которые можно использовать для динамического определения правил проверки клиента на основеправила проверки сервера (так же, как это делает jquery.validate-unobtrusive.js).Таким образом, вы можете написать свой собственный файл jquery.validation-engine-unobtrusive.js.

0 голосов
/ 22 сентября 2011

получить ваши файлы js / css все загруженные и добавленные.у нас есть файл с именем jquery.validationEngine-en.js, который содержит правила проверки.например,

(function($) {
    $.fn.validationEngineLanguage = function() {};
    $.validationEngineLanguage = {
        debugMode: false,
        newLang: function() {
            $.validationEngineLanguage.allRules =   {
            "required":{
                "regex":"none",
                "alertText":"This field is required.",
                "alertTextCheckboxMultiple":"Please select an option.",
                "alertTextCheckboxe":"This checkbox is required."} };
                 },
                confirmInput: function(caller) {
            var confirmBox = $(caller).find('input.confirm_box');
            if (confirmBox.is(':checked')) {
                return false;
            } else {
                return true;
            }
        }
             };
})(jQuery);

$(document).ready(function() {  
    $.validationEngineLanguage.newLang();
});

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

Вы используете их, добавляя к элементу класс, подобный так:

<input type="checkbox" class="validate[required,custom[confirmInput]]" />

или что-то в этом роде

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