0
YouTube 링크의 유효성을 검사하는 맞춤 메소드가 있습니다. 모든 것이 잘 작동하지만 입력을 비워두면 계속 실행됩니다.내 사용자 지정 메서드가 빈 입력의 유효성을 검사하는 이유는 무엇입니까?
입력을 공백으로 남겨도 사용자 정의 메서드를 실행할 수 없지만 입력 된 값의 유효성을 검사하는 방법은 무엇입니까?
방법
jQuery(function() {
var youtubePattern = /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=|\?v=)([^#\&\?]*).*/;
jQuery.validator.addMethod("youtubeVideo", function(value) {
return youtubePattern.test(value);
}, "Must be a valid Youtube video");
});
검증
$("#addPostsForm").validate({
rules: {
post_video: {
youtubeVideo: true
}
}
[문서의 예제보기] (https://jqueryvalidation.org/jQuery.validator.addMethod/). 세 사람 모두 질문에 대답하는 공통된 코드가 하나 있습니다. '이것을 돌려 보내라. 옵션 (요소) || youtubePattern.test (value);' – Sparky
@ Sparky를 추가하면 모든 유효성 검사가 중단됩니다. – Brad
당신의 문제는'element' 인자를 커스텀'addMethod' 함수에 넘겨주지 않는다는 것입니다. 'function (value)'~ 그렇지 않으면'function (value, element)'로 잘 작동합니다 : https://jsfiddle.net/zp0yg74a/ – Sparky