2010-06-28 44 views
1

是否有任何可能在authlogic的模型中执行条件验证用户,根据一些条件使用acts_as_authentic块内的验证?我试图实施多步骤注册表格,在瑞安贝茨的railscast 217中用authlogic进行了描述。Authlogic和条件验证

+0

您的问题非常隐晦。也许你可以发表你的代码和解释你正在努力完成的评论。 – 2010-06-28 20:44:20

回答

3

是的,可以使用authlogic设置条件验证。在您的用户模型,你可以有:

class User < ActiveRecord::Base 

acts_as_authentic do |config| 
    config.merge_validates_format_of_login_field_options {:if => :do_validation} 
end 

其中:do_validation是用户,基于你定义一些条件返回true或false的方法。还有其他的钩子也可以使用。有关此示例的信息,请参阅http://www.rubydox.net/class/authlogic/2.1.3/Authlogic::ActsAsAuthentic::Login::Config。你可以为密码字段做类似的事情。

请注意上面的示例代码来自内存,因为我不在可以引用我自己的源代码的地方,在这个地方我做了这件事情。我将在明天重新开始工作并在必要时进行更正。

UPDATE我验证了我的代码示例是正确的。注意到validates_format_of的任何标准RoR选项都可以合并到此特定的authlogic配置设置中,这可能很有用。 http://api.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.html#M001401