$(document).ready(function() { function checkStatus(data, form){ var status = data.prop("checked"); if( status ) { $(form).validate({ rules: { question_text: { required: true, maxlength: 255 }, sub_question_text: { required: true, maxlength: 255 }, key: { required: true, maxlength: 255 } }, messages: { question_text: { required: "Это обязательное поле.", maxlength: "Поле содержит слишком много символов" }, sub_question_text: { required: "Это обязательное поле.", maxlength: "Поле содержит слишком много символов" }, key: { required: "Это обязательное поле.", maxlength: "Поле содержит слишком много символов" } } }); } else { var setting = $(form).validate().settings; delete setting.rules.sub_question_text; delete setting.messages.sub_question_text; } } var form = $('#send-form'); var data = $('#additional-information'); checkStatus(data, form); data.change(function(){ checkStatus(data, form); }); form.submit(function(){ return $(this).valid(); }); /////////////////////////////////////////////////////////////////////// });