2013-04-02 3 views
0

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

  $.validator.addMethod(varcharRegEx, function (value, element) { 
       return this.optional(element) || /^[A-Za-z0-9\_]+$/i.test(value); 
      }, "Invalid entry, must contain only letters, numbers, or underscore."); 

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

+0

Чтобы добавить элементы по вашему выбору, просто добавьте селектор. – melancia

+0

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

ответ

0

Добавить свой собственный атрибут data в свои элементы управления и заполнить его с помощью RegEx. Затем вы можете прочитать это значение в функции проверки и применить его.

I.e. «Украшают» ваши средства управления, которые требуют проверки с некоторыми CSS класса, что-то вроде:

<input id="control_1" class="to-validate" 
    data-regex="^[A-Za-z0-9\_]+$" 
    data-error-message="Invalid entry, must contain only letters, numbers, or underscore." /> 

Затем в JQuery присоединять валидаторы для каждого из них:

$(".to-validate").each(function(index, myControl) { 

    var regex = $(myControl).data("regex"); 
    var errorMsg = $(myControl).data("error-message"); 
    var validatorName = $(myControl).attr("id"); 

    $(myControl).validator.addMethod(validatorName, function(value, element) { 
     return this.optional(element) || new RegExp(regex).test(value); 
    }, errorMsg); 
}); 

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

+0

В функции Validation вы имеете в виду addMethod плагина – user1077595

+0

Я не использую MVC – user1077595

+0

Обновлен с некоторым примером кода. – Floremin

Смежные вопросы