2012-01-10 1 views
1

Я использую плагин для регистрации Facebook (http://developers.facebook.com/docs/plugins/registration/), чтобы зарегистрировать пользователей для нашего сайта. Проблема в том, что я, похоже, не могу заставить пользовательскую проверку работать и задавался вопросом, является ли это ошибкой с моей стороны или что-то не так с Facebook.Плагин регистрации Facebook Плагин - отправка формы, даже если проверка не выполняется?

Это код XFBML, что я использую:

<fb:registration 
    fields="[{'name':'name'}, 
      {'name':'email'}, 
      {'name':'password','description':'Enter a password','type':'text'}]" 
    redirect-uri="http://local.dev" 
    onvalidate="validateFacebookRegistrationForm"> 
</fb:registration> 

и у меня есть глобальная функция, называемая validateFacebookRegistrationForm, которая имеет следующий код в нем:

function validateFacebookRegistrationForm(form) { 
    errors = {}; 

    if (form.password == "") { 
     errors.password = "No Password Entered"; 
    } 

    return errors; 
} 

Я бы ожидать удар по кнопку регистрации в форме ничего не сделает, и сообщение подтверждения будет отображаться ... вместо этого я получаю всплывающее окно:

http://i.imgur.com/ERxw3.jpg

Как только всплывающее окно закрыто, форма проверяется ... и отображается сообщение об ошибке. Повторное нажатие на регистр не отправит форму до тех пор, пока ошибки не будут исправлены - это то, как должна выглядеть форма в первом случае!

+0

FBML был лишен - вы не должны его использовать. – Lix

+0

Как еще я могу выполнить проверку полей? Из документов: «Если вы хотите добавить подтверждение в любое из своих полей во время регистрации, вы должны использовать версию плагина XFBML, так как iframe не может выполнять междоменную связь» >> http: //developers.facebook. ком/документы/плагины/регистрация/расширенный /. – csdev86

+0

XFBML - это не FBML :) – Lix

ответ

0

Плагин регистрации Facebook не проверяется на стороне клиента, пока ПОСЛЕ того, как пользователь нажал «Регистрация», а затем во всплывающем окне «Продолжить». Затем он выполнит проверку «клиентской стороны» ... на самом деле не имеет смысла идти в таком порядке, но так оно и есть.

Ваш код в порядке.

 Смежные вопросы

  • Нет связанных вопросов^_^