使用validate进行表单验证时土方法(appendTo)改变error显示的位置

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">使用validate进行表单验证时会出现error显示位置非所要求位置的现象,此时的解决方法是:</span>

1.所需要显示error message 的位置定义好无内容的div,并通过设置宽高"占位"(此时可能会用到position:absolute);

2.使用errorPlacement判断哪个error message 放在什么位置,例如,

errorPlacement: function(error, element) {

if(element.attr("id")=="shoujihaoma"){

error.appendTo("#error_message_1");

}

}.

以上就会把输入框id为shuojihaoma的error message 显示在id为error_message_1的位置上.

除了appendTo添加到容器内,还可以使用insertAfter添加到容器后.

自己的代码:javascript

$(document).ready(function() {
            $("#loginForm").validate({
                rules: {
                    validateCode: {remote: "${pageContext.request.contextPath}/servlet/validateCodeServlet"}
                },
                messages: {
                    username: {required: "请填写用户名."},password: {required: "请填写密码."},
                    validateCode: {remote: "验证码不正确.", required: "请填写验证码."}
                },
                errorLabelContainer: "#messageBox",
                errorPlacement: function(error, element) {
                    error.appendTo($("#loginError").parent());
                }
            });
        });

使用js的html代码

<div class="header">
        <div id="messageBox" class="alert alert-error ${empty message ? ‘hide‘ : ‘‘}"><button data-dismiss="alert" class="close">×</button>
            <label id="loginError" class="error">${message}</label>
        </div>
         <p style="text-align:left; padding-left:50px"><img src="${ctxStatic}/bigdata/login/images/3.png" width="117" height="90" ></p>
    </div>
    <p class="form-signin-heading"></p>
    <form id="loginForm" class="form-signin" action="${ctx}/login" method="post">
        <INPUT name="username" class="input-block-level required" id="username" value="${username}" type="text" placeholder="请输入登录名"  style="height:60px; width:80%; margin-left:60px; margin-top:20px; padding-left:60px; background:url(${ctxStatic}/bigdata/login/images/24.png) 10px 15px no-repeat #FFF" >
        <INPUT name="password" class="input-block-level required" id="password" type="password" placeholder="请输入密码"  style="height:60px; width:80%;margin-left:60px; padding-left:20px;padding-left:60px; background:url(${ctxStatic}/bigdata/login/images/25.png) 10px 18px no-repeat #FFF  ">
        <INPUT class="btn btn-primary" onclick="passwdEncryption();" type="submit" value="登 录" style="width:80%; height:50px; margin-left:60px">&nbsp;&nbsp;
        <c:if test="${isValidateCodeLogin}">
        <div class="validateCode">
            <label class="input-label mid" for="validateCode">验证码</label>
            <sys:validateCode name="validateCode" inputCssStyle="margin-bottom:0;"/>
        </div>
        </c:if>
        <LABEL title="下次不需要再登录" for="rememberMe" style=" padding-left:260px; padding-top:20px"><INPUT name="rememberMe" ${rememberMe ? ‘checked‘ : ‘‘} id="rememberMe" type="checkbox"> 记住我(公共场所慎用)</LABEL>
    </form>

参考链接:https://blog.csdn.net/wobenziyou/article/details/48048339

原文地址:https://www.cnblogs.com/isme-zjh/p/11821770.html

时间: 2024-08-29 06:32:28

使用validate进行表单验证时土方法(appendTo)改变error显示的位置的相关文章

基于Jquery Validate 的表单验证

基于Jquery Validate 的表单验证 jquery.validate.js是jquery下的一个验证插件,运用此插件我们可以很便捷的对表单元素进行格式验证. 在讲述基于Jquery Validate的表单验证前,我们先回顾一下基础纯JS的表单验证. 1.回顾基于JS的表单验证 我们先写一个简单的验证邮箱.手机号的表单,页面代码如下: 1 <form action="XXXX.action" method="post" onsubmit="r

Jquery.validate.js表单验证插件的使用

作为一个网站web开发人员,以前居然不知道还有表单验证这样好呀的插件,还在一行行写表单验证,真是后悔没能早点知道他们的存在. 最近公司不忙,自己学习一些东西的时候,发现了validation的一个实例讲解应用.it's perfect. 首先记录一些使用过程中,爱犯的错误: 1>忘记给表单form添加id属性 2>input这些表单标签必须id属性和name属性名字一样.例如:<input type="text" id="name" name=&q

jquery.validate.js表单验证

引用jquery封装好的js文件进行表单验证,提高了Web开发的效率.我写了一个验证的实例给大家展示一下. 实例中包含的验证方法还不全面,如果没有大家想要的可以通过 百度搜索关键:jquery.validate.js表单验证帮助文档来进行查阅. 引入的js文件: <script type="text/javascript" src="js/jquery-1.11.2.js"></script> <script type="te

jQuery.validate.js表单验证插件

jQuery.validate.js表单验证插件的使用 效果: 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-e

Laravel在进行表单验证时,错误信息未返回

马上要毕业了,找了现在的这家公司,压力不大,自己也比较喜欢,唯一的遗憾就是手机号莫得换了(找不到换的借口). 进入正题: 之前自己的博客(http://lxiaoke.cn)是用ThinkPHP开发的,公司用的是Laravel,在进行表单验证时,遇到了一个比较简单却又让我头疼了好几天的问题,那就是验证不通过时的错误信息一直获取不到.百度上说什么的都有,最后用下面的方法解决了. 解决办法: 将middlewareGroup中的\Illuminate\Session\Middleware\Start

jquery validate触发表单验证

jquery validate是常用的表单验证插件.遇到一个jquery validate表单验证不触发的问题 目前写法:$(function(){  $("#form").validate({     rules : {            themeColor: {                required : true            },            --        },        messages : {            themeCol

兼容IE8以下浏览器input表单属性placeholder不能智能提示功能,以及使用jquery.validate.js表单验证插件的问题处理

当前很多表单提示使用了表单属性placeholder,可这属性不兼容IE8以下的浏览器,我自己写了一个兼容处理js // 兼容IE8以下浏览器input不能智能提示功能 if(navigator.appName == "Microsoft Internet Explorer" && (navigator.appVersion.match(/7./i)=="7." || navigator.appVersion.match(/8./i)=="

jquery validate.js表单验证的基本用法入门--不用写繁琐的验证代码了...

jquery.validate.js是jquery下的一个验证插件,功能比较强大,早就有所耳闻但是一只没有动手用过,现在在于能够研究一下了. 这里转载一篇前辈写的文章,在我自己的理解上修改了一下,仅作记录. 先贴一个国内某大公司的代码: 1 <script type="text/javascript"> 2 function lang(key) { 3 mylang = { 4 'ls_input_myb': '请输入您的账户', 5 'ls_myb_email': '漫游

jQuery Validate 提交表单验证失败扩展方法

由于Validate没有提供表单提交过后,验证不通过触发方法.这里做一下扩展. 引用场景:每次提交表单元素验证不通过触发方法 打开源代码 找到focusInvalid 方法, 这里是提交表单时验证不通过触发方法,在这里做扩展是就好不 过的. focusInvalid: function() { if ( this.settings.focusInvalid ) { try { $(this.findLastActive() || this.errorList.length && this.