を働いていない - 下記を参照してください:)私はjQueryのプラグインを検証し、何らかの理由で、私はそれが有効なフィールドを返すために取得することはできません使用していjQueryの検証ルールは固定
- 常に無効を返します。私はとしての機能を修正する場合 - ここで
http://plugins.jquery.com/project/jqueryvalidate
が見つかりました。または任意の特定のアドレスが見つかりませんように私は
$(function(){
$("#address").validate({
valid: function(val){
$.getJSON("http://maps.google.com/maps/geo?q="+ escape(val) +"&key=ABQIAAAAnfs7bKE82qgb3Zc2YyS-oBT2yXp_ZAY8_ufC3CFXhHIE1NvwkxSySz_REpPq-4WZA27OwgbtyR3VcA&sensor=false&output=json&callback=?",
function(data, textStatus)
{
if(data.Status.code=='200')
{
return true;
}else{
return false;
}
});
},
errorMessage: function(val){
return "must geo code";
},
appendCompletionIcon: true
});
});
私は戻ってくるGEOコードのリクエストを見ることができましたが、検証がまだ失敗したものです私は、有効なアドレスまたは無効なアドレスに関してアラート「はい」または「警告しない」を取得しますが、検証はまだ失敗します。
function(data, textStatus)
{
if(data.Status.code=='200')
{
alert('yes');
return true;
}else{
alert('no');
return false;
}
});
すべてのヘルプは
をいただければ幸い私はそれが2つの地域コードが完了するまでに呼び出しを取るとして、それは非常にきれいではありません、この周りをハックする方法を見つけました。私の目的のために十分に良い。
var geocode = false;
function geoadd()
{
$.getJSON("http://maps.google.com/maps/geo?q="+ $("#address").val() +"&key=ABQIAAAAnfs7bKE82qgb3Zc2YyS-oBT2yXp_ZAY8_ufC3CFXhHIE1NvwkxSySz_REpPq-4WZA27OwgbtyR3VcA&sensor=false&output=json&callback=?",
function(data, textStatus)
{
if(data.Status.code=='200')
{
geocode = true;
}else{
geocode = false;
}
});
}
$(function(){
$("#address").validate({
valid: function(val){
geoadd();
return geocode;
},
errorMessage: function(val){
return "must not be blank";
},
appendCompletionIcon: true
});
});
ありがとう、50以上のフィールドがあるので、私はそれをハックすることができると思いますか?おそらく関数を使用して、地理コードの結果に応じて値1または0の隠しフォームフィールドを設定し、それに対して検証しますか?それとも私はまだ私の時間を無駄にしていますか?ありがとう、 –
うん、それは動作する可能性があります。地理コードのチェックのためにあなたのajax呼び出しをトリガーし、次にajaxレスポンスハンドラで必要な処理を行います(レスポンスに基づいて#addressフィールドを有効または無効にします)。 – WTK