在创建操作之前,Authlogic在登录时运行验证

时间:2009-08-01 16:09:25

标签: ruby-on-rails authlogic

我需要在实际创建用户记录之前在登录字段上运行内置验证,有没有办法在Authlogic中执行此操作?原因是当用户键入新的登录时,调用AJAX来检查并查看登录的唯一,有效等等。一旦完成,用户可以输入他的电子邮件来声明登录,这是一个2步处理。

1 个答案:

答案 0 :(得分:1)

User模型使用ActiveRecord验证,因此这不是Authlogic特有的。如果要在模型上运行验证,可以调用user.valid?。这将返回truefalse,具体取决于整个模型是否有效。但是它也会填满user.errors对象,以便您可以检查给定属性是否有效。

以下是一些使用RJS执行AJAX的代码。但你可以随意使用任何东西并组织它。

user = User.new(params[:user])
user.valid? # we aren't interested in the output of this.
error = user.errors.on(:login)
if error
  page.insert_html :before, "user_login", content_tag(:span, error, :class => "error_message")
end

您可能对我的Mastering Rails Forms截屏视频系列感兴趣,我将在第2集中介绍此主题。