Ошибки проверки jQuery с определенными URL - PullRequest
1 голос
/ 14 февраля 2012

Я уже давно ищу ответ на этот вопрос и думаю, не было ли у кого-нибудь такой же проблемы.

Плагин jQuery.validation работает нормально, обычно есть только несколько URL-адресов, на которых онне проверяется должным образом, и я серьезно пытаюсь выяснить, почему (или допустимый обходной путь).

Нормальные URL-адреса работают нормально, например http://www.play.com,, но следующий URL-адрес всегда будет неудачнымдля проверки:

http://www.play.com/DVD/Blu-ray/4-/21404340/Transformers-3-Dark-Of-The-Moon-3D/Product.html?searchstring=&searchtype=allproducts&searchsource=2&searchfilters=ae212{644651}%2bc{600}%2b&urlrefer=search

Я предполагаю, что из-за символов {}.

Я использую универсальный плагин валидации:

$("#myform").validate({
  rules: {
    field: {
      required: true,
      url: true
    }
  }
});

Любое понимание этой проблемы было бы очень полезно.

1 Ответ

0 голосов
/ 14 февраля 2012

Да, эти символы недопустимы. Один из вариантов, который вы, возможно, пожелаете принять, - это событие on change для ввода URL-адреса, которое заменяет текущее значение на значение в кодировке URI.

$('.url-field').change(function() { $(this).val(encodeURI($(this).val())); });
...