ユーザーが毎回完全な URL を入力しなくても、部分的な URL を作成できるようにする必要があります。
たとえば、URL を にしようと計画しているとしwww.example.com/areas/{userinput}/home
ます。ユーザーがテキスト ボックスにテキストを入力できるようにし、それが有効な URL であることを検証したいと考えています。
URL バリデータは次のように機能します。
url: function(value, element) {
return this.optional(element) || /giantregex/.test(value);
}
次の方法でバリデーターに検証メソッドを追加しようとしました。
$.validator.addMethod("exturl", function(value) {
return $.validator.methods.url.call($.validator, "http://www.example.com/areas/" + value + "/home");
});
ただし、フォームが検証され、拡張機能が呼び出されると、次のエラーが発生し続けます。
Uncaught TypeError: Object function (d,a){this.settings=b.extend(true,{},b.validator.defaults,d);this.currentForm=a;this.init()} has no method 'optional'
optional
オブジェクトのメソッドのように見え$.validator
ますが、バリデータの url メソッドを呼び出す方法がわかりません。