Rails 请问有什么方法可以得出某个 model 中存在着哪些对指定属性的 validate?

lilu · 2012年03月21日 · 最后由 lilu 回复于 2012年03月21日 · 3243 次阅读
class Post
  include Mongoid::Document
  field :title, type: String
  validates_presence_of :title
end



请问有什么方法可以反射得出 Post 对 title 做了 validate?

这么做的好处是我可以在 form 中根据字段是否必须来决定加不加 required 属性


问题已解决,感谢 @iwinux

Post.validators_on :title

我猜测回答下 instancemethodes? grep 下 validate 和属性。

你可以看看ClientSideValidations这个 gem。 http://ruby-china.org/wiki/gems “client_side_validations 会读取服务端的验证逻辑并生成对应的客户端验证逻辑(依赖 jQuery), 让你几乎不用增加任何前端代码就可实现客户验证”

@ery 谢谢,不过这个已经用了,他和 form_for 是绑定的,我的情景出于某种原因不能使用 form_for,而是用普通的 form_tag, 而且,他没有加上 required 这个属性

Model.validators

这种问题其实只要开个 rails c 敲几个字母 TAB 几下就会找到答案的吧……要不翻源码也行……

楼上正解

@iwinux 谢谢~我的问题,以后多尝试

需要 登录 后方可回复, 如果你还没有账号请 注册新账号