【问题标题】:jQuery rules validation with ajax request使用 ajax 请求的 jQuery 规则验证
【发布时间】:2019-03-13 19:47:15
【问题描述】:

这个问题已经问过了,但没有用。

我想使用jQuery 规则验证和使用Ajax 显示Zone Name Already Exist...! 消息。我试过submitHandler,但没用。

这是我的代码

$(document).ready(function() {
$('#submitBtn').click(function() {
    $("#zoneForm").validate({
        rules: {
            'zoneName': {
                minlength: 4,
                maxlength: 15
            }
        },
        validClass: "success",
        highlight: function(element) {
            $(element).closest('.form-group').removeClass('has-success').addClass('has-error');
        },
        success: function(element) {
            $(element).closest('.form-group').removeClass('has-error').addClass('has-success');
        },
        submitHandler: function(e) {
            var zoneVal = $('#zoneName').val();
            console.log(zoneVal);
            e.preventDefault();
            if (zoneVal) {
                $.ajax({
                    url: '<?php echo base_url();?>zone/zoneCheck',
                    type: "POST",
                    dataType: "json",
                    data: {
                        zoneName: zoneVal
                    },
                    success: function(data) {
                        console.log(data);
                        alert(data);
                        if (data == 1) {
                            alert('Zone Name Already Exist.');
                        } else if (data == 0) {
                            $("#zoneForm").submit();
                        }
                    }
                });
            }
        },
    });
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.17.0/jquery.validate.min.js"></script>
<script src=""></script>
<form id="zoneForm" name="zoneForm" method="POST" action="<?php echo site_url('zone/editzone');?>">
	<label>Zone Name <span class="required-label">*</span></label>
  <input type="text" class="form-control zoneEditName" id="zoneEditName" name="zoneName" placeholder="Enter Zone Name" required />
  <input class="btn btn-success zoneSubmit" type="submit" id="submitBtn" name="submit" value="Submit" >
</form>

【问题讨论】:

  • 将 type="submit" 更改为 type="button" in 到 from submit button。
  • @KoratPrakash:为什么我要更改 type='button' ?
  • 因为您已经从 ajax 提交表单。 $("#zoneForm").submit();

标签: jquery ajax validationrules


【解决方案1】:

在你的 jquery 中使用远程函数它可能会帮助你检查 isExists

见下例

$( "#myform" ).validate({
  rules: {
    email: {
      required: true,
      email: true,
      remote: {
        url: "check-email.php",
        type: "post",
        data: {
          username: function() {
            return $( "#username" ).val();
          }
        }
      }
    }
  }
});

或者你可以参考https://jqueryvalidation.org/remote-method/

【讨论】:

  • 我尝试验证无法正常工作我收到Please fix this field. 错误消息
  • 我认为您的回复有问题,因此请检查您的请求是否正常。
  • 你可以自定义错误信息到任何你想要的,这样信息就会出现而不是“请修复这个字段”。
  • 我正在向我的控制器和模型发送 zoneName 值。发送响应 1 或 0。所以如果我得到 1 表示数据已经存在,如果响应 0 表示没有数据
猜你喜欢
  • 2016-01-16
  • 1970-01-01
  • 2011-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-10
  • 1970-01-01
相关资源
最近更新 更多