小编Spa*_*rky的帖子

手动向jQuery验证器添加和删除验证错误

我有一个搜索表单和基于挖空的网格结果.执行搜索时,会在asp.net mvc上进行一些服务器端验证,如果模型状态无效,则通过JSON返回模型错误列表.

我已经设置了jQuery验证,并使用jquery.unobtrusive插件自动映射默认验证(正则表达式,必需等).我发现$.validate().showErrors({prop:error})基于来自服务器的json响应动态显示错误的方法,但我认为这不是使用它来显示服务器验证消息的正确方法,因为之后不能重置字段(input-validation-error class不删除).

我需要一种工作方法来设置和重置客户端上的错误,如果存在的话$.validate.

在jsFiddle上有我的问题的例子:http://jsfiddle.net/goranobradovic/ughCm/

要重现它,请单击添加错误,然后删除错误,输入保持红色.

这是因为showErrors函数不会添加由验证触发的任何规则,因此字段保持"有效",并且它不在elements()用于从无效字​​段中resetForm删除的列表中input-validation-error class.

基本上,我想要简单的方法来添加/删除验证规则与自定义消息,永远不会在客户端上满足,以避免表格提交时我手动设置错误和invalid class删除错误消息后必须删除.

jquery jquery-validate

37
推荐指数
3
解决办法
7万
查看次数

Jquery验证插件 - TypeError:$(...).validate不是函数

我的脚本抛出错误:

TypeError:jQuery.validator未定义additional-methods.js:20 TypeError:$(...).validate不是函数index.php:115

可能,我在jQuery代码中有错误.

<head>
<script type="text/javascript" src="js/jquery-1.10.2.js"></script>
<script type="text/javascript" src="js/jquery.form.js"></script>
<script src="http://jquery.bassistance.de/validate/additional-methods.js"></script>
</head>
<body>
            <form id="registerForm" method="post" action="logrej.php">
            <input name="login" type="text"/>
            <input name="nick" type="text"/>
            <input type="password" id="passw" name="password"/>
            <input type="password" name="retype" />
            <input type="submit" value="Zarejestruj!" />
            </form>
            <script>

                $("#registerForm").validate({
                    rules: {
                        login: {
                            required:true,
                            rangelenght: [4,20],
                            remote:"look.php"
                        },
                        nick : {
                            required:true,
                            rangelenght:[4,20],
                            remote:"look.php"
                        },
                        password: {
                            required:true,
                            rangelenght:[4.20]
                        },
                        retype: {
                            required:true,
                            equalTo:"#passw"
                        }
                    },
                    messages:{
                        login:{
                            required:"To pole jest wymagane!"
                        }
                    }
                })

            </script>
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-validate

37
推荐指数
3
解决办法
15万
查看次数

验证动态添加的输入字段

我已将此 jquery验证插件用于以下表单.

<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="http://jzaefferer.github.com/jquery-validation/jquery.validate.js"></script>

<script>
    $(document).ready(function(){
        $("#commentForm").validate();
    });

    function addInput() {
        var obj = document.getElementById("list").cloneNode(true);
        document.getElementById('parent').appendChild(obj);
    }
</script>

<form id="commentForm" method="get" action="">
    <p id="parent">
        <input id="list"  class="required" />
    </p>

    <input class="submit" type="submit" value="Submit"/>
    <input type="button" value="add" onClick="addInput()" />
</form>
Run Code Online (Sandbox Code Playgroud)

单击添加按钮时,会动态添加新输入.但是,在提交表单时,只验证第一个输入字段.如何验证动态添加的输入?谢谢...

html javascript jquery jquery-validate

36
推荐指数
3
解决办法
10万
查看次数

jQuery validate - 根据用户选择设置条件规则

是否可以使用jQuery验证轻松设置条件规则,

简单地说,我正在尝试添加一些逻辑,如果勾选复选框"A",则必须填写字段"A",如果复选框"B"已完成,则必须填写字段"B1"和"B2".

例如,如果选中名为"paypal"的复选框,则必须填写名为"paypal_address"的字段.

我现有的逻辑如下:

<script type="text/javascript">
$(document).ready(function () {

$('#checkout-form').validate({
    rules: {
        first_name: {
            minlength: 2,
            required: true
        },
        last_name: {
            minlength: 2,
            required: true
        },
        address_1: {
            minlength: 2,
            required: true
        },
        address_2: {
            minlength: 2,
            required: true
        },
        post_code: {
            minlength: 2,
            required: true
        },            
        email: {
            required: true,
            email: true
        },
        terms: {
          required: true,
        }
    },
    errorPlacement: function(error, element) { 
      element.addClass('error');
    },        
    highlight: function (element) {
        $(element).addClass('nonvalid')
          .closest('.form-group').removeClass('error');
    },
    success: function (element) {
        //element.addClass('valid')
          //.closest('.form-group').removeClass('error');
          element.remove('error'); …
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-validate

34
推荐指数
2
解决办法
6万
查看次数

jQuery Validation插件 - 自定义消息

我是JQuery的新手,并且正在使用JQuery验证插件.

我想问一下,如何覆盖默认消息以显示与表单元素关联的标签中的文本.

我会得到这样的消息:

字段密码是必需的.而不是默认此字段是必需的.

Field PostCode必须至少包含3个字符.而不是默认请输入至少3个字符.

我需要覆盖此插件的默认行为,因为我不想为每种类型的验证指定每个项目的自定义消息.

可能吗?

jquery jquery-validate

31
推荐指数
3
解决办法
5万
查看次数

jQuery Validation Plugin - 添加适用于多个字段的规则

我正在使用jQuery Validation插件:

我有一个大型的几个字段,我想应用相同的规则.我简化了这个例子的代码.这段代码不起作用,但我想做这样的事情.第二条规则应适用于first_namelast_name.我想在此函数中封装所有规则,而不是编辑某些表单元素的类列表以添加所需的类或其他任何内容.

(同样,我有几组不同的表单字段,我想要分组.required: true为了简单起见,我只放入该元素)

$('#affiliate_signup').validate(
       {
          rules: 
          {
            email: {
                required: true,
                email: true
            },
            first_name,last_name: {
                required: true
            },
            password: {
                required: true,
                minlength: 4
            }
          }
       });
Run Code Online (Sandbox Code Playgroud)

提前致谢.

jquery jquery-validate

29
推荐指数
1
解决办法
4万
查看次数

忽略所有隐藏的div而不是jQuery验证中的div

我在我的表单中使用jQuery验证 http://jqueryvalidation.org/documentation/

我想将验证添加到我的所有字段,但我想忽略具有类"my_item"的隐藏div.

所以这是我的Jquery:

 $("#myform").validate({ 
    ignore: ":hidden"
 });
Run Code Online (Sandbox Code Playgroud)

如何从这个忽略的情况中排除具有类my_item的div.所以像div.

提前致谢

jquery hidden jquery-validate

29
推荐指数
2
解决办法
2万
查看次数

如何使用validate plugin jquery验证输入数组

我是jquery验证插件的新手,但我想知道如何使用验证插件验证输入框数组.

下面是html代码.

<form id="transport-form">
  <input type="text" name="qty[]" id="qty1">
  <input type="text" name="qty[]" id="qty2" >
  <input type="text" name="qty[]" id="qty3">
  <input type="text" name="qty[]" id="qty4">
  <input type="submit value="submit">
</form>
Run Code Online (Sandbox Code Playgroud)

和jquery代码如下

jQuery("#transport-form").validate({
        rules: {
            'qty[]': {
                required: true
            }
        },
    });
Run Code Online (Sandbox Code Playgroud)

但每次我点击提交它只验证第一个值.其余所有相同名称的值都未经过验证.请帮忙.

jquery jquery-validate

29
推荐指数
5
解决办法
7万
查看次数

将jQuery验证器规则添加到ASP中动态创建的元素

我在MVC3项目的页面上有一些动态插入的表单字段.通常我们会添加jQuery验证服务器端,但在这种情况下我们不能(UI中的多个字段生成一个隐藏字段的值 - 这就是提交的内容.我们无法验证隐藏字段,所以我们必须为用户可以看到的字段添加仅UI验证)

将字段动态添加到页面后,我在容器上运行以下代码:

$container.find(".date").rules("add", {
    required: true,
    messages: {
        required: "The date is required"
    }
});
Run Code Online (Sandbox Code Playgroud)

但它不起作用!奇怪的是,禁用上面的代码,创建动态元素,然后在浏览器JS控制台中运行代码,但只显示默认验证消息.

我不知所措.有任何想法吗?

我正在使用jQuery Validation 1.9.0和不引人注目的插件

asp.net jquery jquery-validate unobtrusive-validation

28
推荐指数
2
解决办法
4万
查看次数

CSS中的零像素大小是否带有'px'后缀?

谷歌搜索这个问题的答案已经证明是困难的,所以我想这里有人应该知道.

在CSS中,我看到零像素被声明为简单的'0'而且还被称为'0px'.

mystyle { width: 0; }

anotherstyle { width: 0px; }
Run Code Online (Sandbox Code Playgroud)

'0'的小问题是,如果将其更改为某个非零值,您可能会忘记添加'px'.当值为'0'时,您可能忘记删除'px'.我想在我的代码中保持纯粹的一致性,这样的小事情让我疯狂.

这真的归结为个人偏好,比如在哪里缩进?

他们似乎都工作,但哪种方式更好,为什么?

谢谢.


为清晰起见编辑:

我写道"像这样的小事让我疯狂".

没有"px"为0 不是我所指的.

它让我感到疯狂,有两种不同的方式可以做同样简单的事情.

就个人而言,尽管在适当的情况下忘记添加/删除'px'这一小问题,但我会继续使用'0',因为我知道它和其他方式一样可以接受.

css size pixel stylesheet zero

27
推荐指数
1
解决办法
6823
查看次数