我有一个表格,我正在使用jquery.validate.我最初使用一组规则和自定义消息调用validate ...
$("#formName").validate( {
rules: {
myExistingInput: {
required: true
}
},
messages: {
myExistingInput: {
required: "Enter something"
}
},
ignore: null, // include hidden fields (see below)
submitHandler: function(form) {
// do stuff
},
invalidHandler: function(event, validator) {
// do stuff (some of the fields may have been hidden by a collapsible panel
// if there is an error on one of those fields, expand the panel so the error
// becomes visible)
}
});
Run Code Online (Sandbox Code Playgroud)
稍后,我动态地向表单添加字段,并为这些字段添加规则...
$("#formName").append(...);
$("#newInputName").rules("add", …Run Code Online (Sandbox Code Playgroud) 我想使用Tooltipster插件来显示jQuery Validate插件生成的表单错误.
jQuery for Validate插件:
$(document).ready(function () {
$('#myform').validate({ // initialize jQuery Validate
// other options,
rules: {
field1: {
required: true,
email: true
},
field2: {
required: true,
minlength: 5
}
}
});
});
Run Code Online (Sandbox Code Playgroud)
jQuery for Tooltipster插件:
$(document).ready(function () {
$('.tooltip').tooltipster({ /* options */ }); // initialize tooltipster
});
Run Code Online (Sandbox Code Playgroud)
HTML:
<form id="myform">
<input type="text" name="field1" />
<input type="text" name="field2" />
<br/>
<input type="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)
我如何整合这两个jQuery插件的使用,以便验证错误出现在工具提示中?
使用我的jquery验证配置,将onkeyup设置为true时出现以下错误.如果我将其设置为false,它会起作用,但在模糊字段之前我没有获得验证反馈,我希望在每个keyup上获得验证:
$("#signupForm").validate({
onkeyup: true,
onclick: false
// rules omitted for brevity
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
TypeError: validator.settings[eventType].call is not a function
validator.settings[eventType].call(validator, this[0], event);
jquery.validate.js line 391
Run Code Online (Sandbox Code Playgroud) 鉴于此HTML:
<div class="OpenIDSelector">some text</div>
Run Code Online (Sandbox Code Playgroud)
为什么这个JQuery选择器在某些浏览器和某些页面上匹配它,而在其他页面上却不匹配?
$('.OpenIdSelector')
Run Code Online (Sandbox Code Playgroud)
注意:我遇到了这个问题并且自己解决了,但是它很烦人,我在StackOverflow上找不到它,所以我把它作为Q&A对发布,所以别人不会像我那样浪费一个小时.
使用JQuery Validation插件,我试图调用.valid()方法,而没有在屏幕上显示错误消息的副作用.我尝试过很多场景都没有成功,我的最新成果是:
$('#signup').validate({
showErrors: function() { return; },
errorElement: "",
errorClass: "",
errorPlacement: function() { },
invalidHandler: function() { },
highlight: function(element, errorClass) { },
unhighlight: function(element, errorClass) { }
});
$('#displayPurposes').text("Valid: " + $("#EMailAddress_EmailAddress").valid());
Run Code Online (Sandbox Code Playgroud)
虽然.valid()调用正常工作,但它仍然会导致显示错误消息的副作用.
我不希望这种情况发生,请帮忙.
我正在使用jQuery Validation插件来验证我的表单.
我想按照美国ZIPCode格式验证邮政编码: -
> 12345
> 12345-6789
> 12345 6789
Run Code Online (Sandbox Code Playgroud)
根据我的密码,它验证邮政编码应该是最大5和所有数字.
请参阅以下代码:
<script src="~/Scripts/js/jquery.validate.js"></script>
<script>
$().ready(function () {
// validate signup form on keyup and submit
$("#locationSetup").validate({
rules: {
'Address.AddressStreet': "required",
'Address.City': "required",
'Address.State.Country.CountryIsoCode': "required",
'Address.State.SubnationalIsoCode': "required",
'Address.PostalCode': {
required: true,
minlength: 5,
maxlength: 5,
digits: true
}
},
messages: {
'Address.AddressStreet': "Please enter your Street Address!",
'Address.City': "Please select your City!",
'Address.State.Country.CountryIsoCode': "Please select your Country!",
'Address.State.SubnationalIsoCode': "Please select your State!",
'Address.PostalCode': {
required: "Please enter …Run Code Online (Sandbox Code Playgroud) 目前我需要验证这样的每个表单:
$(document).ready(function () {
$('#admin_settings_general').validate({
rules: {
admin_settings_application_title: {
required: true
}
},
highlight: function (element) {
$(element).closest('.form-group').addClass('has-error');
},
unhighlight: function (element) {
$(element).closest('.form-group').removeClass('has-error');
}
});
});
Run Code Online (Sandbox Code Playgroud)
我希望它能自动验证带有required 标签的每个元素的表单.
我怎样才能做到这一点?
一点背景:
我正在使用jQuery Validation插件来验证注册表单.我现在想要实现一个ajax调用来检查系统中是否有用户名,并且我想只有当userName值是有效的时才根据规则中的规则进行此ajax调用$(form).validate();
我想要的东西:
$("#userName").keyup(function () {
if ($("#userName").isValid()) {
//make ajax called
}
});
Run Code Online (Sandbox Code Playgroud)
我搜索了文档,但我找不到解决问题的方法.
这里有很多关于以下元标记不符合HTML5的问题,因此在使用时不会验证<!DOCTYPE html>:
<meta http-equiv="imagetoolbar" content="no">
Run Code Online (Sandbox Code Playgroud)
我也知道这个标签仅用于一个目的:隐藏将鼠标悬停在Internet Explorer中的任何图像上时出现的工具栏.
但是,我无法确切地知道哪个版本的Explorer适用.当我用谷歌搜索它时,大多数结果只提到IE6,但是这些线程/页面是在2004年发布的.我想知道是否因为该功能在IE7 +中被删除了.
我不关心IE6,但如果这个元标记适用于IE7,IE8,IE9等,我将需要决定是否要找到替代方法.
究竟哪个版本的Internet Explorer能够通过上面的元标记禁用恼人的图像工具栏功能?
我发现jQuery验证插件正则表达式不足以满足我的要求.它接受任何电子邮件地址xxx@hotmail.x作为有效的电子邮件地址,而我希望能够提供此正则表达式/^([a-zA-Z0-9_.-+])+\@(([a-zA -Z0-9 - ])+.)+([a-zA-Z0-9] {2,4})+ $ /以便它将验证完整的.com部分地址.我更关心能够提供我自己的正则表达式而不是获得一个傻瓜证明正则表达式(因为没有用于电子邮件验证的傻瓜证据正则表达式)
仅供参考:我也在进行服务器端验证,但此时我并不担心哪个电子邮件地址是正确的.
有没有办法在jQuery validate插件的"规则"部分内执行此操作?
这是我现在的规则部分:
rules: {
email: {
required: {
depends:function(){
$(this).val($.trim($(this).val()));
return true;
}
},
email: true
},
Run Code Online (Sandbox Code Playgroud) jquery ×9
javascript ×3
asp.net-mvc ×1
html ×1
html5 ×1
image ×1
meta-tags ×1
quirks-mode ×1
regex ×1
standards ×1
tooltip ×1
tooltipster ×1