[jquery] jQuery 유효성 검사 : 기본 오류 메시지 변경
jQuery 유효성 검사 플러그인 에서 기본 오류 값을 변경하는 간단한 방법이 있습니까?
오류 메시지를 내 앱에보다 개인적으로 다시 작성하고 싶습니다. 필드가 많으므로 필드 x에 대해 개별적으로 메시지를 설정하고 싶지 않습니다.
답변
유효성 검사 플러그인 뒤에 포함 된 별도의 파일 / 스크립트에이 코드를 추가 하여 메시지를 무시하고 마음대로 편집하십시오. 🙂
jQuery.extend(jQuery.validator.messages, {
required: "This field is required.",
remote: "Please fix this field.",
email: "Please enter a valid email address.",
url: "Please enter a valid URL.",
date: "Please enter a valid date.",
dateISO: "Please enter a valid date (ISO).",
number: "Please enter a valid number.",
digits: "Please enter only digits.",
creditcard: "Please enter a valid credit card number.",
equalTo: "Please enter the same value again.",
accept: "Please enter a value with a valid extension.",
maxlength: jQuery.validator.format("Please enter no more than {0} characters."),
minlength: jQuery.validator.format("Please enter at least {0} characters."),
rangelength: jQuery.validator.format("Please enter a value between {0} and {1} characters long."),
range: jQuery.validator.format("Please enter a value between {0} and {1}."),
max: jQuery.validator.format("Please enter a value less than or equal to {0}."),
min: jQuery.validator.format("Please enter a value greater than or equal to {0}.")
});
답변
확인 통화에서 자신의 메시지를 지정할 수 있습니다. Validation 플러그인 문서 ( http://jquery.bassistance.de/validate/demo/milk/ )에 사용 된 Remember the Milk 가입 양식에서이 코드를 해제하고 축약 하여 자신 만의 메시지를 쉽게 지정할 수 있습니다.
var validator = $("#signupform").validate({
rules: {
firstname: "required",
lastname: "required",
username: {
required: true,
minlength: 2,
remote: "users.php"
}
},
messages: {
firstname: "Enter your firstname",
lastname: "Enter your lastname",
username: {
required: "Enter a username",
minlength: jQuery.format("Enter at least {0} characters"),
remote: jQuery.format("{0} is already in use")
}
}
});
validate (…)에 대한 완전한 API : http://jqueryvalidation.org/validate
답변
이것은 나를 위해 일했다 :
$.validator.messages.required = 'required';
답변
이것은 나를 위해 일했다 :
// Change default JQuery validation Messages.
$("#addnewcadidateform").validate({
rules: {
firstname: "required",
lastname: "required",
email: "required email",
},
messages: {
firstname: "Enter your First Name",
lastname: "Enter your Last Name",
email: {
required: "Enter your Email",
email: "Please enter a valid email address.",
}
}
})
답변
이미 JQuery를 사용하고 있으므로 페이지 디자이너가 코드가 아닌 마크 업에 사용자 정의 메시지를 추가 할 수 있습니다.
<input ... data-msg-required="my message" ...
또는 모든 필드에서 하나의 짧은 data-msg 속성을 사용하는보다 일반적인 솔루션입니다.
<form id="form1">
<input type="text" id="firstName" name="firstName"
data-msg="Please enter your first name" />
<br />
<input type="text" id="lastName" name="lastName"
data-msg="Please enter your last name" />
<br />
<input type="submit" />
</form>
그리고 코드에는 다음과 같은 내용이 포함됩니다.
function getMsg(selector) {
return $(selector).attr('data-msg');
}
$('#form1').validate({
// ...
messages: {
firstName: getMsg('#firstName'),
lastName: getMsg('#lastName')
}
// ...
});
답변
다른 가능한 해결책은 각 필드에 동일한 오류 메시지를 추가하여 필드를 반복하는 것입니다.
$('.required').each(function(index) {
$(this).rules("add", {
messages: {
required: "Custom error message."
}
});
});
답변
플러그인 소스 코드를 변경하는 대신 다운로드 현지화 폴더에있는 것과 같은 형식으로 추가 js 파일을 포함하고 validation.js를로드 한 후 해당 파일을 포함 할 수 있습니다.
jQuery.extend(jQuery.validator.messages, {
required: ...,
maxlength: jQuery.validator.format(...),
...
});