<fb: регистрация onvalidate = "/" > не работает

Я пытаюсь осуществить регистрацию Facebook на веб-сайте. Без параметра onvalidate все работает так, как можно было бы ожидать, но при его включении все, кажется, сломается (ошибки не выбрасываются, форма ничего не делает).

Вот мой код:

<center>
    <fb:registration redirect-uri="http://im.localhost/register"
    fields='[{"name":"name"},{"name":"username","description":"Website Username","type":"text"},{"name":"email"},{"name":"password","view":"not_prefilled"},{"name":"captcha","view":"not_prefilled"},{"name":"tos","type":"checkbox","description":"I accept the Terms of Service"}]' onvalidate='validate'>
    </fb:registration>
</center>
<script> 
function validate(form) {
    console.log('Validation');
    errors = {};
    errors.tos = "You must accept the terms of service";
    return errors;
}
</script>
<!-- at end of page: -->
<script>
    // ...
    FB.init({
        appId: '<?php echo IM_Facebook::getAppIDStatically(); ?>',
        channelUrl: '<?php echo $this->serverUrl().$this->baseUrl('/xsrd.html'); ?>',
        status: true,
        cookie: true,
        xfbml: true
    });
    // ...
</script>

Функция console.log никогда не вызывается при нажатии кнопки отправки формы. (Тем не менее, в противном случае он действует почти нормально - всплывающее сообщение "Вы зарегистрировали, используя abc" появляется и исчезает, когда я нажимаю "подтвердить", но ничего не происходит.

Если я оставлю пользовательское поле (имя пользователя) пустым без этого параметра, Facebook попросит меня заполнить его. Если я оставлю его пустым с этим параметром, функция проверки не вызывается, и она не показывает никаких ошибок. В любом случае ошибка TOS, которая всегда должна отображаться в соответствии с этой формой, никогда не появляется.

Проблемы с подобными вопросами связаны с URL-адресом веб-сайта, не соответствующим URL-адресу приложения. В этом случае это не так.

Для уточнения домена я использую домен "im.localhost", который недоступен через Интернет. Я не считаю, что это проблема, потому что без onvalidate работает регистрационная форма, и система входа в систему, которую я выполнил, работает. Однако при onvalidate регистрационная форма перестает работать вообще.

Ответ 1

  onvalidate="validate()"

onvalidate = "validate" вы просто вызываете строку...

вам понадобится скобка для вызова функции