如何在jquery中停止重复错误消息

时间:2018-04-16 06:40:27

标签: jquery ajax

我有一个输入代码的表单,当我输入错误的代码时,会显示错误消息 image

当我输入退格键时,两个错误消息显示都会看到此enter image description here

所以我如何停止此错误消息重复并仅显示一次

这是我的代码

$('#code_form').validate({ // initialize the plugin
    rules:
        {
            sms_code:
            {
                required: true,
                remote: {
                url: "ajaxfiles/code_check.php",
                type: "post"
             }
            }

        },
       messages:
        {
            sms_code:
            {
                required: 'Please enter code from sms code',
                remote: "Invalid code"
            }

        },
    submitHandler: function (form) {

            $(form).ajaxSubmit(
            {
                url: 'ajaxfiles/code_submit.php', 
                type: 'post',
                success: function(data)
                {

                    $("#code_form_div").hide();
                    $("#pswd_form_div").show();

                    $("#code_form").addClass('submited');
                }
            });
        },
        errorPlacement: function(error, element)
        {
            error.insertAfter(element.parent());
        }
});

2 个答案:

答案 0 :(得分:1)

你可以这样试试。

JS

$('#code_form').validate({ // initialize the plugin
    rules:
        {
            sms_code:
            {
                required: true,
                remote: {
                url: "ajaxfiles/code_check.php",
                type: "post"
             }
            }

        },
       errorLabelContainer: '#errors',
       messages:
        {
            sms_code:
            {
                required: 'Please enter code from sms code',
                remote: "Invalid code"
            }

        },
    submitHandler: function (form) {

            $(form).ajaxSubmit(
            {
                url: 'ajaxfiles/code_submit.php', 
                type: 'post',
                success: function(data)
                {

                    $("#code_form_div").hide();
                    $("#pswd_form_div").show();

                    $("#code_form").addClass('submited');
                }
            });
        }
});

HTML

<div id="errors"></div>
<form>
    ...
</form>

以下是errorLabelContainer

的文档

答案 1 :(得分:0)

你可以简单。您可以在code_check.php中检查无效代码并在主页面上显示ajax响应。删除远程验证并在提交处理程序中更改以下代码,并将id成功的div设置为显示结果。

success: function (html){$('#sucess').html(html);}