2015-05-02 3 views
1

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

Template['account.login'].events 
'submit #login-form': (e, t) -> 
e.preventDefault() 

Meteor.loginWithPassword(
    t.find('#login_username').value, 
    t.find('#login_password').value, 
    (err)-> 
    console.log(err) 
) 
return false 

соответствующий шаблон (в JADE - извините):

form.smart-form.client-form#login-form(novalidate) 
    fieldset 
     section 
      label.input 
       input#login_username(type="text", name="username") 
     section 
      label.input 
       input#login_password(type="password", name="password") 
    footer 
     button.btn.btn-primary(type="submit", id="login.btn.login") Login 

От ресурса я нашел в Интернете, это было бы правильно , Тем не менее, я получаю это исключение брошенного на сервере:

Exception while invoking method 'login' Error: Match error: Failed Match.Where validation in field username in field user.username 
+0

Трудно сказать, не видя шаблон. Попробуйте «console.log» значения перед вызовом 'loginWithPassword' - возможно, один из них пуст. –

+0

ОК, спасибо, я обновил вопрос, включив код шаблона. Я вывел значения в консоли, и кажется, что они правильно подобраны. Может ли это иметь какое-либо отношение к неявному методу check(), вызванному аргументами? – Genu

+0

@ Genu, как вы его решили? Я в той же ситуации – securecurve

ответ

0

Вы забыли добавить закладку и Meteor.loginWithPassword() выполняется за пределами события шаблона. Вставьте свой код coffeescript по адресу http://js2.coffee/, и вы сразу увидите его.

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