jQuery를 사용하여 MaxLength의 오류 메시지를 사용자 정의하는 방법 입력 한 문자 수를 표시하도록 유효성
-
05-07-2019 - |
문제
나는 원한다 maxlength
jQuery 유효성 검사 검증 다음과 같은 오류 메시지를 표시합니다.
"{0} 문자 이상을 입력하지 마십시오. 현재 {1} 문자를 입력했습니다."
어디에 {1}
실제 금액의 자리 표시 자입니다. 이것을하는 가장 좋은 방법은 무엇입니까?
해결책
나는 그렇게하는 간단한 방법이 있다고 생각하지 않지만 당신을위한 해결 방법을 찾았습니다. 나는 당신이 그 필드에 대한 자신의 검증기를 쓸 수 있다고 생각하지만 이것은 더 간단 할 수 있습니다.
기본 메시지를 변경하여 시작하십시오 maxlength
오류 :
$.extend($.validator.messages, {
maxlength: $.validator.format("Please enter no more than {0} characters. You've currently entered CHARS_NO characters.")
});
평소와 같이 유효성 검사를 유지하지만이 기능을 추가하십시오.
$('input').keyup(function () {
var rules = $(this).rules();
if (rules.maxlength !== undefined && !$(this).valid()) {
var errorLabel = $('label[for=' + $(this).attr('id') + '][generated=true].error');
errorLabel.text(errorLabel.text().replace('CHARS_NO', $(this).val().length));
return false;
}
});
여기에 있습니다 작동하는 데모 당신을 위한.
다른 팁
어떻게 검증을 유발하는지 잘 모르겠지만 maxlength
an input
사용자가 해당 값이 나타내는 것보다 더 많은 문자를 입력하는 것을 배제합니다. 따라서 사용자에게 더 많은 문자를 입력했음을 알릴 필요는 없습니다. maxlength
그들은 단순히 그것을 할 수 없기 때문에.
추가 컨텍스트 및/또는 세부 사항을 제공 할 수 있습니까?
제휴하지 않습니다 StackOverflow