Facebook注册插件 - 即使验证失败,表单提交?

时间:2012-01-10 09:56:22

标签: facebook forms validation oauth xfbml

我正在使用Facebook注册插件(http://developers.facebook.com/docs/plugins/registration/)来注册我们网站的用户。问题是我似乎无法使自定义验证工作,并且想知道这是我的错误还是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

关闭弹出窗口后,表单将被验证...并显示错误消息。再次单击注册将不会提交表单,直到错误得到修复 - 这是表单在第一个实例中的行为方式!

1 个答案:

答案 0 :(得分:0)

Facebook注册插件在客户端按下“注册”之后才会进行客户端验证,然后在弹出窗口中按“继续”。然后,它将进行“客户端”验证......按顺序排列真的没有意义,但这就是它的样子。

你的代码很好。