【问题标题】:jQuery validation not working when input fields are empty输入字段为空时jQuery验证不起作用
【发布时间】:2017-02-08 04:59:42
【问题描述】:

我认为这并不复杂,但我自己做不到。非常感谢您的帮助。

我将提交一个带有验证的表单。我的验证似乎无法正常工作。因为当输入字段为空时,它不会显示错误消息。而且当单击提交按钮时,它也没有显示错误消息。此事件仅在输入字段为空时发生。

这是我的 HTML:

<form name="department" id="department">
    <div class="form-group">
        <label for="example-text-input">Department Name</label>
        <span id="errfnCustomer"></span>
        <input class="form-control" type="text" placeholder="Enter Department Name" id="textDepartmentName" name="textDepartmentName1">
    </div>
    <div class="form-group">
        <label for="example-text-input">Registation Number</label>
        <span id="errfnCustomer2"></span>
        <input class="form-control" type="text" placeholder="Enter Department Registation Number" id="textRegistationNumber" name="textRegistationNumber">
    </div>
    <div class="form-group">
        <label for="example-text-input">Web Site</label>
        <input class="form-control" type="text" placeholder="Web Site" id="textWebsite" name="textWebsite1">
    </div>
    <div class="form-actions">
        <div class="form-group">
            <input type="button" value="Register" class="btn pull-right" id="btnsubmit" style="background-color:#1e90ff; width: 100px; color: white; font-weight: bold" />
        </div>
    </div>
</div>

还有 jQuery:

$('#department').validate({
    rules: {
        textDepartmentName1: {
            required: true,
            minlength: 3,
        },
        textRegistationNumber: {
            required: true,
            minlength: 3
        },
        textWebsite1: {
            required: true,
            minlength: 3
        }

    },
    submitHandler: $("#btnsubmit").click(function (form) {
        var submitData = {
            DepartmentId: saveStat,
            DepartmentName: $('#textDepartmentName').val().trim(),
            RegistationNumber: $('#textRegistationNumber').val(),
            Website: $('#textWebsite').val(),
            Email: $('#textEmail').val(),
            Telephone01: $('#textTelephone01').val(),
            Telephone02: $('#textTelephone02').val(),
            Fax: $('#textFax').val(),
            BranchId: $('#cmbGetBranch').val()
        }

        if (saveStat == 0) {
            $.ajax({
                dataType: 'json',
                contentType: 'application/json; charset=utf-8',
                cache: false,
                async: false,
                type: 'POST',
                data: "{submitData:" + JSON.stringify(submitData) + "}",
                url: "/Department/AddDepartment",
                success: function (saveDepartment) {
                    if (saveDepartment.saveDepartment.DepartmentId != 0) {
                        refresh();
                        alert(saveDepartment.saveDepartment.DepartmentName + " Saved succesfully...!!!");
                    } else {
                        alert('warning' + " Department saving unsucsessful...!!!");

                    }
                },
                error: function (xhr, errorThrown) {
                    alert('Error...!!! Internal - 01');
                }

            });
        } else {
            $.ajax({
                dataType: 'json',
                contentType: 'application/json; charset=utf-8',
                cache: false,
                async: false,
                type: 'POST',
                data: "{submitData:" + JSON.stringify(submitData) + "}",
                url: "/Department/UpdateDepartment",
                success: function (updateDepartment) {
                    if (updateDepartment.updateDepartment.DepartmentId != "") {
                        alert(updateDepartment.updateDepartment.DepartmentName + " updated succesfully...!!!");
                        refresh();
                    } else {
                        alert("Department update error...!!!");
                    }
                },
                error: function (xhr, errorThrown) {
                    alert('Error...!!!');
                }
            });
        }
        grid();
    })
});

【问题讨论】:

  • 我认为您需要在输入的 HTML 中传递 required
  • 我只是添加了必需的属性,但它不起作用
  • 点赞&lt;input class="form-control" type="text" placeholder="Enter Department Name" id="textDepartmentName" name="textDepartmentName1" required&gt;
  • 我认为问题出在您的 submitHandler 上。你不需要那里的选择器。只需“submitHandler: function(form){}”。请参阅此处的文档jqueryvalidation.org/validate/#submithandler
  • 按钮类型未提交时出现问题。我得到了另一个帮助来找到它。也谢谢你帮助我

标签: javascript jquery validation


【解决方案1】:

首先使注册按钮类型提交:

 <input type="submit" value="Register" class="btn pull-right" id="btnsubmit" style="background-color:#1e90ff; width: 100px; color: white; font-weight: bold" />

并使提交处理程序如下所示:

submitHandler:function (form) {

}

在此处查看更多信息 (Jquery validation)。

【讨论】:

  • 这不是答案...这应该是评论
  • 这是一个答案。我只是在更新这个。
  • 谢谢。当我更改按钮类型以提交它的工作时。再次感谢
  • 欢迎伴侣..即使它正在使用更改按钮类型,您也需要更改 submiHadler。
  • 谢谢伙计。我也改变了 submiHadler 它工作得很好。但我认为提交按钮 id 应该在那里。这就是为什么在使用过的点击事件中。如果你能解释它是如何在没有点击事件的情况下工作的
猜你喜欢
  • 2020-06-20
  • 1970-01-01
  • 1970-01-01
  • 2014-02-07
  • 2019-05-24
  • 1970-01-01
  • 1970-01-01
  • 2019-12-23
  • 1970-01-01
相关资源
最近更新 更多