Ответ 1
Я ничего не вижу в docos, который может это сделать. Единственный другой способ, который я могу сделать, это сделать.
$('#field1, #field2, #field3').blur(function(){
validator.validate()
});
Я пытаюсь получить проверку jQuery на веб-странице, которую я создаю. У меня есть около 6 различных полей, содержащих детали страницы. Я использую это, поскольку я прячусь и показываю, что они дают лучший пользовательский интерфейс.
У меня есть плагин, который работает, когда я пытаюсь отправить страницу, и всякий раз, когда я добавляю один символ (когда текстовое поле требует 2 или более символов), однако я также хочу, чтобы проверка выполнялась onblur. Я хочу немедленно сообщить своим пользователям, если они не выполнили условие проверки, чтобы они могли сразу исправить и не нужно возвращаться.
Может ли кто-нибудь сказать мне, что мне нужно сделать, я использую плагин * http://bassistance.de/jquery-plugins/jquery-plugin-validation/.
Это код jQuery, который я написал до сих пор:
$("#aspnetForm").validate({
rules: {
<%=txtFirstName.UniqueID %>:
{
required: true,
minlength: 2
}
,
<%=txtSurname.UniqueID %>:
{
required: true,
minlength: 2
}
,
<%=txtMobileNumber.UniqueID %>:
{
required: true,
minlength: 8
}
,
<%=Email.UniqueID %>:
{
required: true,
email: true
}
,
<%=ddDay.UniqueID %>:
{
required: true
}
,
<%=ddMonth.UniqueID %>:
{
required: true
}
,
<%=ddYear.UniqueID %>:
{
required: true
}
,
<%=txtHouseNumber.UniqueID %>:
{
required: true,
minlength:1
}
,
<%=txtAddress1.UniqueID %>:
{
required: true,
minlength:5
}
,
<%=txtCity.UniqueID %>:
{
required: true,
minlength:2
}
,
<%=txtSuburb.UniqueID %>:
{
required: true,
minlength:2
}
,
<%=txtPostCode.UniqueID %>:
{
required: true,
minlength:4,
maxlength:4
}
,
<%=UserName.UniqueID %>:
{
required: true,
minlength:4
}
,
<%=Password.UniqueID %>:
{
required: true,
minlength:4
}
,
<%=ConfirmPassword.UniqueID %>:
{
equalTo: "ctl00$ctl00$cpMain$cpLeft$Password"
}
,
<%=chkTerms.UniqueID %>:
{
required: true
}
},
messages: {
<%=txtFirstName.UniqueID %>:
{
required: "Please enter your firstname",
minlength: "Minimum length is 2 characters"
},
<%=txtSurname.UniqueID %>:
{
required: "Please enter your lastname",
minlength: "Minimum length is 2 characters"
},
<%=txtMobileNumber.UniqueID %>:
{
required: "Please enter your mobile",
minlength: "Minimum length is 8 characters"
}
,
<%=ddDay.UniqueID %>:
{
required: "Please enter your date of birth"
}
,
<%=txtMobileNumber.UniqueID %>:
{
required: "Please enter your date of birth"
}
,
<%=txtMobileNumber.UniqueID %>:
{
required: "Please enter your date of birth"
}
,
<%=Email.UniqueID %>:
"Please enter a valid email"
,
<%=txtHouseNumber.UniqueID %>:
{
required: "Please enter your house number",
minlength:"Please add at least 1 character"
}
,
<%=txtAddress1.UniqueID %>:
{
required: "Please enter your address",
minlength:"Please add at least 5 characters"
}
,
<%=txtCity.UniqueID %>:
{
required: "Please enter your city",
minlength:"Please add at least 2 characters"
}
,
<%=txtSuburb.UniqueID %>:
{
required: "Please enter your city",
minlength:"Please add at least 2 characters"
}
,
<%=txtPostCode.UniqueID %>:
{
required: "Please enter your postcode",
minlength:"Please add the 4 required characters",
maxlength:"Only 4 characters are allowed"
}
,
<%=UserName.UniqueID %>:
{
required: "Please enter your username",
minlength: "Please add the 4 required characters"
}
,
<%=Password.UniqueID %>:
{
required: "Please enter your password",
minlength: "Please add the 4 required characters"
}
,
<%=ConfirmPassword.UniqueID %>:
{
equalTo: "Passwords must match"
}
,
<%=chkTerms.UniqueID %>:
{
required: "Please agree to the terms"
}
}
});
Любые советы?
Я ничего не вижу в docos, который может это сделать. Единственный другой способ, который я могу сделать, это сделать.
$('#field1, #field2, #field3').blur(function(){
validator.validate()
});
Дайвер Дэн был прав
$('form').validate({
onfocusout: function (element) {
$(element).valid();
},
rules: {
name: 'required',
from: 'required'
},
messages: {
name: 'Please enter your firstname',
from: 'Please enter where are you from'
}
});
Вы также можете использовать вызов элемента валидатора.
$('form').validate({
onfocusout: function(element) {
this.element(element);
},
rules: {
name: 'required',
from: 'required'
},
messages: {
name: 'Please enter your firstname',
from: 'Please enter where are you from'
}
});
Просто установите onkeyup = false
$('form').validate({
rules: {
name: 'required',
from: 'required'
},
onkeyup: false
,
messages: {
name: 'Please enter your firstname',
from: 'Please enter where are you from'
}
});
Код Thia не будет запускать проверку onkeyup, но на размытие "потеряно" фокус "проверка будет огнем, как только пользователь начнет редактировать поле, сообщение о проверке исчезнет. Найдите более интересную другую настройку в этой ссылке: https://jqueryvalidation.org/category/plugin/
$('#frm').validate({
onkeyup: false,
focusCleanup: true
});