如何在jquery验证器中使用submitHandler作为字符串

时间:2019-07-19 07:00:30

标签: jquery jquery-validate

我正在使用规则,消息和errorElement作为字符串

var rules = '{"rules":{"hotel_name":{"required": true}},"messages":{"hotel_name":{"required": "some message"}}, "errorElement": "span"}';

并将其传递给

var validator = $('#create_hotels').validate(JSON.parse(rules));

它工作正常,但是如果我在上面的字符串中使用submitHandler则不起作用 我用这种方式

var rules = '{"rules":{"hotel_name":{"required": true}},"messages":{"hotel_name":{"required": "some message"}}, "errorElement": "span", "submitHandler": "function(form){ajax_function(form);}"}';

我在SubmitHandler中调用的Ajax函数

     function ajax_function(form){
        var formData = $(form).serialize();

        $.ajax({
          url: form.action,
          type: form.method,
          data: {"data":formData},
          headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
          dataType: "html",
          success: function(response) {
            var jsonObj = JSON.parse(response);              
            if(jsonObj.success == true)
            {
              $("#submit_success_msg_div").fadeIn().html('<i id="submit_success_msg_icon" class="icon fas fa-check"></i>'+jsonObj.message);
              setTimeout(function(){ 
                $("#submit_success_msg_div").fadeOut();
              }, 3000);

            }else if(jsonObj.success == false)
            {
              $("#submit_fail_msg_div").fadeIn().html('<i id="submit_fail_msg_icon" class="fas fa-times"></i> Sorry hotel was not created');
              setTimeout(function(){ 
                $("#submit_fail_msg_div").fadeOut();
              }, 3000);
            }
          }            
        });
      }

我有必要以这种方式进行操作,请指导为什么提交处理程序在其他人工作时不以这种方式工作?

0 个答案:

没有答案