【问题标题】:Validation Message is breaking my email field验证消息破坏了我的电子邮件字段
【发布时间】:2019-06-23 08:24:57
【问题描述】:

我正在为网页中的电子邮件字段设置验证,但是当用户输入无效输入时,错误消息会破坏我的电子邮件字段。 请找到以下屏幕截图。

//html
<form id="signupForm" method="post" class="form-horizontal" action="www.google.com">
<div class="input-group">
<input type="text" class="form-control" id="email" name="email" placeholder="Email address">
<span class="input-group-btn">
<button type="submit" class="btn btn-default" name="signup" value="Sign up">Go!</button>
</span>
</div>
</form>

//css
button.btn{
color:#fff;
background-color:#747980!important;
border-bottom-right-radius:.25rem;
border-bottom-left-radius:initial;
border-top-right-radius:.25rem;
border-top-left-radius:initial;
display:inline-block;
}

//js
$(document).ready(function () {
$.validator.setDefaults( {
        submitHandler: function () {
            alert( "submitted!" );
            window.location.replace("http://stackoverflow.com");
        }
    } );

    $( document ).ready( function () {
        $( "#signupForm" ).validate( {
            rules: {
                email: {
                    required: true,
                    email: true
                },
                agree: "required"
            },
            messages: {
                email: "Please enter a valid email address",
                agree: "Please accept our policy"
            },
            errorElement: "em",
            errorPlacement: function ( error, element ) {
                // Add the `invalid-feedback` class to the error element
                error.addClass( "invalid-feedback" );

                if ( element.prop( "type" ) === "checkbox" ) {
                    error.insertAfter( element.next( "label" ) );
                } else {
                    error.insertAfter( element );
                }
            },
            highlight: function ( element, errorClass, validClass ) {
                $( element ).addClass( "is-invalid" ).removeClass( "is-valid" );
            },
            unhighlight: function (element, errorClass, validClass) {
                $( element ).addClass( "is-valid" ).removeClass( "is-invalid" );
            }
        } );

    } );
});

我希望在 go 按钮后显示错误消息,有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: jquery validation email-validation


    【解决方案1】:

    得到上述问题的解决方案,在 else 条件后添加以下代码

    $("em").insertAfter("span.input-group-btn");
    

    【讨论】:

      猜你喜欢
      • 2017-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-26
      • 2021-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多