我有一个用于验证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
}
}
答案 0 :(得分:-1)
为什么不简单地在验证器函数中添加对值长度的检查?
jQuery(function() {
var youtubePattern = /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=|\?v=)([^#\&\?]*).*/;
jQuery.validator.addMethod("youtubeVideo", function(value) {
if (value.length == 0){
return false;
}
return youtubePattern.test(value);
}, "Must be a valid Youtube video");
});