2015-06-10 1 views
0

Я использую JQuery Validation подключаемый модуль для работы с формой подтверждения, что атрибуты тоже с использованием данных какДобавить/Удалить форму валидаций с данными атрибутов на лету с помощью JQuery Validation Plugin 1.11.1

<input type="text" class="firstName" name="firstName" data-rule-required="true" /> 

JSFiddle - http://jsfiddle.net/ylokesh/SLXhR/135/

Normal Сценарий: Это хорошо работает, если я не нажал на кнопку отправки и изменить значения выпадающих и нажмите кнопку отправки.

Проблемный сценарий: Как только я нажму кнопку «Отправить», попробуйте изменить выпадающее значение. Он не отключит/не активирует требуемую проверку.

Действия по воспроизведению является фактическим

  • формы Hit кнопка отправки Стреляют проверке достоверности обязательной для заполнения поля
  • Поля ввода будет отображаться сообщению об ошибке,
  • Теперь измените значение выпадающих стран, чтобы сделать поле ввода не обязательно
  • Сообщение об ошибке должно исчезнуть на этот раз, но это не так.

JavaScript

$('#validate-me-plz').validate(); 

$("#country").change(function(){ 
    if($(this).val() === "country1") { 
     if($('.firstName').attr('data-rule-required') !== 'true') { 
      $('.firstName').attr('data-rule-required','true');  
     } 
    } else if($(this).val() === "country2") { 
     if($('.firstName').attr('data-rule-required') !== 'false') { 
      $('.firstName').attr('data-rule-required','false');  
     } 
    } 
}); 

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

ответ

1

Использование data вместо attr и вместо того, чтобы строка true или false установить значение bool

DEMO

$("#country").on('change',function(){ 
    if($(this).val() === "country1") { 
     if(!$('.firstName').data('rule-required')) { //check bool value 
      $('.firstName').data('rule-required',true); //set bool value 
     } 
    } else if($(this).val() === "country2") { 
     if($('.firstName').data('rule-required')) { 
      $('.firstName').data('rule-required',false);  
     } 
    } 
}); 
+0

Да, он работает, как ожидалось. Позвольте мне включить этот код в реальное приложение. Большое спасибо за ваш быстрый ответ. –

+0

В любое время .. Не забудьте отметить как ответ, если это решит вашу проблему @Lokesh .. Happy Coding .. :) –

+0

Обязательно сделайте этого Гуру. –

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