jQuery validate () предназначен для проверки самой формы, я считаю, а не просто отдельное поле.
Я думаю, вам лучше использовать регулярное выражение для проверки одного текстового поля, если вы не пытаетесь выполнить проверку формы.
Вот пример работающего SO-вопроса.
function validateURL(textval) {
var urlregex = new RegExp(
"^(http:\/\/www.|https:\/\/www.|ftp:\/\/www.|www.){1}([0-9A-Za-z]+\.)");
return urlregex.test(textval);
}
Источник: здесь
Вы могли бы написать регулярное выражение, как предлагали другие, но глупо делать это самому (зачем изобретать велосипед), и вы, вероятно, не будете делать такую же хорошую работу, как плагин.
Попробуйте:
var isValid = function isValid(form, field){
return $(form).valid({
rules: {
field: {
required: true,
url: true
}
}
});
};
Где форма - это имя формы, а поле - это имя ввода в этой форме. Удалите «required: true», если поле не является обязательным.
Это не было проверено, но на основании документов, на которые вы ссылались в своем вопросе, это должно помочь вам встать на правильный путь.
Также, чтобы не быть придурком, вам действительно стоит более внимательно прочитать документацию ... там есть ответ на ваш вопрос.
Почему бы вам просто не попробовать использовать регулярные выражения JavaScript? Вам не нужен целый плагин только для проверки URL! Существует множество регулярных выражений, связанных с синтаксическим анализом URL. Просто сделайте что-нибудь вроде:
if(textval.match(/<regular expression>/)) return true;
Более того, если можно использовать HTML5, он поддерживает
, поэтому не нужно вообще беспокоиться о проверке URL-адресов.