2011-06-29 22 views
1

usernameフィールドにエラーが表示されると、javascriptコンソールに「Not a custom field name:username」と表示され続けます。明らかに「username」という名前のフィールドがあります。私はどこでも他の名前に変更しようとしましたが、それでも動作しませんでした。 何が起こっているか考えてみましょうか?facebook非同期検証でエラーが表示されない

<fb:registration redirect-uri="<?=$pageurl?>" 
    fields="[{'name':'name'},{'name':'email'},{'name':'location'},{'name':'username','description':'Username','type':'text'},{'name':'password','view':'not_prefilled'},{'name':'captcha','view':'not_prefilled'}]" 
    onvalidate="validate" width="400"></fb:registration> 

と私の検証機能...

function validate(form,cb) 
{ 
    console.dir(form); 
    $.get('/api/?f=user_email_present&username='+form.username+"&email="+form.email,function(data){ 
     console.log(data); 
     if(data.username==false) 
     { 
      cb(); 
     } 
     else 
     { 
      if(data.username=='username') 
       cb({username: 'That username is already taken. Please try another username.'}); 
      else if(data.username=='usernamelength') 
       cb({username: 'The username cannot exceed 20 characters in length.'}); 

     } 
    }); 
} 

私も確認することはできませんが、私はこのすべてが戻ってしばらく作業を覚えてだと思います。打ち上げから2日が過ぎると、私は完全なショックを受けました。

更新:非同期検証を廃止し、他の検証を使用しました。それでも同じエラーがスローされます!

+0

ここでは正確に何をしますか?私は間違っているかもしれませんが、facebookを通じたxfbmlメソッドのほとんどは非難されています(あるいはそのようになっています)。これによりエラーが発生します(メソッドが動作していて現在ではない場合もあります) –

+0

facebookは、xfbmlタグではなくfbmlで非推奨になりました。実際には、iframeバージョンの登録プラグインでサーバー側の非同期検証を使用することはできません。 xfbmlバージョンのみが可能です。 – Munim

答えて

1

2日間を費やした後、私は何が起こっているのか把握することができました。それはFacebookの終わりに愚かだが強力なバグです。ウィジェットの幅が小さすぎると、このエラーが発生します。幅を800pxに増やすと、速やかに固定されました。おそらく、幅が小さすぎると適切なエラーフィールドを表示しない可能性があります。
私はバグレポートを提出しました:https://github.com/facebook/connect-js/issues/275
皆さんが私のバグレポートにショットやコメントを付けてすぐに対応できるようになったら、素晴らしいものになるでしょう。

+0

GitHubの "Comment"の代わりに "Comment&Close"を押したようです。 (私はそれをたくさんしています。)Facebookチームに見せたい場合は、新しいIssueを開く必要があります。あなたが再投稿すれば、私は喜んでコメントします。 :) –

+0

ちょっと..それを指摘してくれてありがとう。新しい問題:https://github.com/facebook/connect-js/issues/278 – Munim

関連する問題