我有一个搜索表单和基于挖空的网格结果.执行搜索时,会在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删除错误消息后必须删除.
我的脚本抛出错误:
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) 我已将此 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)
单击添加按钮时,会动态添加新输入.但是,在提交表单时,只验证第一个输入字段.如何验证动态添加的输入?谢谢...
是否可以使用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) 我是JQuery的新手,并且正在使用JQuery验证插件.
我想问一下,如何覆盖默认消息以显示与表单元素关联的标签中的文本.
我会得到这样的消息:
字段密码是必需的.而不是默认此字段是必需的.
Field PostCode必须至少包含3个字符.而不是默认请输入至少3个字符.
我需要覆盖此插件的默认行为,因为我不想为每种类型的验证指定每个项目的自定义消息.
可能吗?
我正在使用jQuery Validation插件:
我有一个大型的几个字段,我想应用相同的规则.我简化了这个例子的代码.这段代码不起作用,但我想做这样的事情.第二条规则应适用于first_name和last_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验证 http://jqueryvalidation.org/documentation/
我想将验证添加到我的所有字段,但我想忽略具有类"my_item"的隐藏div.
所以这是我的Jquery:
$("#myform").validate({
ignore: ":hidden"
});
Run Code Online (Sandbox Code Playgroud)
如何从这个忽略的情况中排除具有类my_item的div.所以像div.
提前致谢
我是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)
但每次我点击提交它只验证第一个值.其余所有相同名称的值都未经过验证.请帮忙.
我在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和不引人注目的插件
谷歌搜索这个问题的答案已经证明是困难的,所以我想这里有人应该知道.
在CSS中,我看到零像素被声明为简单的'0'而且还被称为'0px'.
mystyle { width: 0; }
anotherstyle { width: 0px; }
Run Code Online (Sandbox Code Playgroud)
'0'的小问题是,如果将其更改为某个非零值,您可能会忘记添加'px'.当值为'0'时,您可能忘记删除'px'.我想在我的代码中保持纯粹的一致性,这样的小事情让我疯狂.
这真的归结为个人偏好,比如在哪里缩进?
他们似乎都工作,但哪种方式更好,为什么?
谢谢.
为清晰起见编辑:
我写道"像这样的小事让我疯狂".
没有"px"为0 不是我所指的.
它让我感到疯狂,有两种不同的方式可以做同样简单的事情.
就个人而言,尽管在适当的情况下忘记添加/删除'px'这一小问题,但我会继续使用'0',因为我知道它和其他方式一样可以接受.
jquery ×9
javascript ×3
asp.net ×1
css ×1
hidden ×1
html ×1
pixel ×1
size ×1
stylesheet ×1
zero ×1