JQuery.Validation是如何unhighlight调用的?
我有一份正在验证的表格。我捕获了所有应该捕获的内容(ip、电话、电子邮件)
但由于某种原因,我的两个<select>自动转换为框的下拉Select2菜单不太友好。
打开表格。单击保存。所有的气泡都会弹出来说明哪个或什么出了问题。
开始填写它们,当您输入有效值时它们开始消失。
然而,对于Select2盒子来说,这种情况不会发生。
jQuery(function($) {
var validator = $('#form').validate({
rules: {
x: {
required: true
}
},
messages: {},
errorPlacement: function(error, element) {},
highlight: function(element, errorClass, validClass) {
var v = $(element).val();
$(element).siblings(".err").addClass('bubble');
if (v == '') {
$(element).siblings(".err").html('Required field')
}
if (v != '') {
$(element).siblings(".err").html('Please check format')
}
},
unhighlight: function(element, errorClass, validClass) {
$(element).siblings(".err").removeClass('bubble');
$(element).siblings(".err").html('')
}
});
});Run Code Online (Sandbox Code Playgroud)
form {
margin-top: 30px;
}
input.myerror {
margin-top: …Run Code Online (Sandbox Code Playgroud)基于这个问题,我试图将两个变量传递给自定义验证器方法。使用console.log我可以看到上限和下限范围是在 HTML 中定义的,但没有正确传递给选项,而是我得到的NaN。
问题似乎是两个文本框的值尚未定义或设置(当它们在下面的验证规则中发送时),但是当它们到达验证器时(这只是一个猜测,我还没有在验证尝试之前无法想出一种方法来嗅探它们的值)。因此,如果我将它们记录在验证器方法中,它们会显示得很好,但如果我将它们作为变量传递,它们会在 PCBID 对象(Chrome 浏览器)中显示为 NaN:
Object {PCBID: Object}
PCBID: Object
lower: NaN
upper: NaN
__proto__: Object
__proto__: Object
Run Code Online (Sandbox Code Playgroud)
这是验证器,还设置了其他规则来防止输入任何整数,因此这不应该是问题:
//this validator checks to make sure the user has entered the PCBIDs in
//the correct order in the range form.
$.validator.addMethod("highLowCheck", function (value, element, options)
{
console.log("Inside highLowCheck validator");
console.log(parseInt($('#pcbid_range_lower').val(),10)); //shows expected values
console.log(parseInt($('#pcbid_range_upper').val(),10)); //shows expected values
console.log(options.PCBID.upper); //NaN
console.log(options.PCBID.lower); //NaN
//evaluates to false because NaN is falsey
console.log(options.PCBID.upper > options.PCBID.lower);
console.log("Done …Run Code Online (Sandbox Code Playgroud) 我正在尝试做的事情:
我需要遍历所有内部具有无效值的 HTML 对象。这是必要的,因为我有选项卡式页面,并且我需要打开发生错误的某些特定选项卡。为了做到这一点,我需要获取这些对象的父对象。
这就是我想要解决的问题:
$form.validate().settings.invalidHandler = function (form, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
validator.errorList[0].element.focus();
for (var invObj in validator.errorList) {
//do something for each invalid object
}
}
};
Run Code Online (Sandbox Code Playgroud)
其中 $form 是<form>具有一些内部要验证的输入的对象。
$form.validate()我认为在调用or后,每个无效对象都会调用它$form.valid()。事实上,它根本没有被调用。您知道一些更好的方法来实现它吗?
到目前为止,我成功地为密码字段创建了 jQuery 验证。我的问题是如何编辑它以在每个自定义情况下获得错误警报,例如“您需要添加大写字母”、“您需要添加数字”等。我的代码:
var value=$("#password_reg").val();
$.validator.addMethod("pwcheck",function(value) {
return /^[A-Za-z0-9\d=!\-@._*]*$/.test(value) && /[a-z]/.test(value) && /\d/.test(value) && /[A-Z]/.test(value);
});
$('#signup-form').validate({
rules: {
password:{
minlength: 6,
maxlength: 30,
required: true,
pwcheck: true
},
confirmPassword:{
equalTo: "#password_reg",
},
},
messages: {
password: {
pwcheck: "Password is not strong enough"
}
},
highlight: function(element) {
var id_attr = "#" + $( element ).attr("id") + "1";
$(element).closest('.form-group').removeClass('has-success').addClass('has-error');
$(id_attr).removeClass('glyphicon-ok').addClass('glyphicon-remove');
$('.form-group').css('margin-bottom', '5px');
$('.form').css('padding', '30px 40px');
$('.tab-group').css('margin', '0 0 25px 0');
$('.help-block').css('display', '');
},
unhighlight: function(element) {
var id_attr = …Run Code Online (Sandbox Code Playgroud) 我想在弹出窗口中显示邮政编码字段错误消息。其他字段不需要弹出错误消息。我使用了下面的代码。这个怎么解决啊。
$(document).ready(function() {
$("#conference_form").validate({
rules: {
conpostcode: {
required: true,
minlength: 4,
remote: {
url:"<?php echo base_url() ?>tools/check_postcode/1",
type: "post",
data:
{
postcode: function()
{
return $('#conpostcode').val();
}
},
}
},
name: "required",
address: "required",
date: "required",
description:"required",
},
messages: {
conpostcode: "We don't have service this location, Please call us +44 12345454, for stock sets support.",
name: "Please enter venu name",
address: "Please enter address",
date: "Please enter date",
description: "Please enter description",
}
})
Run Code Online (Sandbox Code Playgroud)
});
如何仅在警报或弹出窗口中显示邮政编码错误消息。请任何人帮忙。
我需要在验证时添加一个包含在select元素周围的div的类.
$("#Form").validate({
invalidHandler: function (form, validator) {
$("[id$='_DropDownList']").each(function () {
// How do I figure out if $(this) is valid or invalid?
// Add the class below if invalid.
$(this).parent().addClass("error");
});
}
});
Run Code Online (Sandbox Code Playgroud) 我有一个我想要验证的表单(显示验证摘要,显示验证属性错误消息并支持jquery客户端验证).出现验证摘要,出现验证属性错误消息,但是当我添加时
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
对于客户端验证我得到客户端验证,我得到验证属性错误消息,但验证摘要不再出现.我错过了什么?
我试图验证一个文本字段类型的密码,但是当我试图写密码时,验证不起作用.用于验证:minlength 6,maxlength 12,uppercase,lowercase和digits
HTML
<tr>
<td>Contraseña *</td>
<td>
<input type="password" name="password1" id="password1">
</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
JAVASCRIPT
$.validator.addMethod("password1", function (value, element) {
return this.optional(element) || /^(?=.*\d)(?=.*[a-zA-Z]).{6,12}$/i.test(value);
});
$("#frmDatos").validate({
errorContainer: contenedor,
errorLabelContainer: $("ol", contenedor),
wrapper: 'li',
meta: "validate",
rules: {
password1: {
required: true
}
},
messages: {
password1: "La contraseña no es válida"
},
Run Code Online (Sandbox Code Playgroud) invalidHandler当有效输入完成后,如何获取jQuery Validate插件来更新错误计数器?
$(document).ready(function () {
$("#report-listing-form").validate({
rules: {
'listing-report-email': {
required: true,
email: true
},
'listing-report-name': {
required: true
},
'listing-report-phone': {
number: true,
minlength: 7,
maxlength: 12
},
'contact-msg': {
required: true,
maxWords: 1000
}
},
errorPlacement: function(error, element) {
return false; // will suppress error messages
},
invalidHandler: function (event, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
var message = (errors == 1) ? '1 invalid field.' : errors + ' invalid fields.';
$("#err_report-listing-form").html(message).addClass("text-error");
} …Run Code Online (Sandbox Code Playgroud) 所以我有一个表格,onsubmit="SubmitForm()"还有一个$().validate().问题是,当单击提交时,.validate()可以工作,但SubmitForm()也会运行.我有点困惑,有人可以帮帮我吗?
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.2.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.13.1/jquery.validate.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$('#eclub').validate({ // initialize the plugin
rules: {
FirstName: {
required: true,
minlength: 2,
},
LastName: {
required: true,
minlength: 2
},
'Email Address': {
required: true,
email: true
},
Zip: {
required: true,
minlength: 2
},
DOB_Month: {
required: true,
minlength: 2,
},
DOB_Day: {
required: true,
minlength: 1
},
over18: {
required: true
}
}
});
});
function autoDMA() {
var zip_code = …Run Code Online (Sandbox Code Playgroud)