Jquery validate: повторная проверка проверенной формы после изменения флажка с другими правилами - PullRequest
1 голос
/ 01 февраля 2010

Я пытаюсь проверить форму с парой обязательных элементов, если флажок НЕ установлен.

Теперь, если я отправлю форму, правила запускаются - и затем я устанавливаю флажок - правила проверки уже сработали - и хотя флажок теперь установлен - правила проверки все еще применяются, и форма не будет отправлена, пока я введите поля.

Я надеялся, что флажок может включать или выключать правила. Любая помощь высоко ценится.

var validator = $(".cmxform").validate({
                rules: {
                    txtAddress1: { 
                        required: function(){
                            $('#chkCurrentEmployer').attr('checked') !== "true"
                    } },
                    txtAddress2: {
                        required: function(){
                            $('#chkCurrentEmployer').attr('checked') !== "true"
                    } }
                }
            });

1 Ответ

2 голосов
/ 01 февраля 2010

Используйте required( dependency-expression ) правило

var validator = $(".cmxform").validate({
  rules: {
    txtAddress1: {
      required: "#chkCurrentEmployer:checked"
    },
    txtAddress2: {
      required: '#chkCurrentEmployer:checked'
    }
  }
});

Документация здесь: http://docs.jquery.com/Plugins/Validation/Methods/required#dependency-expression

Ваш код также может работать, если эти функции возвращают что-то вроде этого

return $('#chkCurrentEmployer').attr('checked');
...