【问题标题】:Authlogic and conditional validationAuthlogic 和条件验证
【发布时间】:2010-06-28 10:25:57
【问题描述】:

是否有可能在 authlogic 的模型用户中执行条件验证,根据某些条件在acts_as_authentic 块中使用验证?我正在尝试实现多步注册表单,如 Ryan Bates 的 railscast 217 with authlogic 中所述。

【问题讨论】:

  • 您的问题非常晦涩难懂。也许您可以将您拥有的代码与 cmets 一起发布,以解释您要完成的工作。

标签: ruby-on-rails ruby authlogic railscasts


【解决方案1】:

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

class User < ActiveRecord::Base

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

其中 :do_validation 是 User 中的一种方法,它根据您定义的某些条件返回 true 或 false。您还可以使用其他挂钩。有关与此示例相关的信息,请参阅 http://www.rubydox.net/class/authlogic/2.1.3/Authlogic::ActsAsAuthentic::Login::Config。您可以对密码字段执行类似的操作。

请注意,上面的示例代码来自记忆,因为我不在一个可以参考我自己的源代码的地方,我就是在其中做这件事的。我明天复工时会核实,必要时更正。

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

【讨论】:

    猜你喜欢
    • 2011-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-11
    • 2011-05-07
    • 2011-01-12
    相关资源
    最近更新 更多