我有一个链接模型,用于存储Web上页面的链接。其中一个字段是url - 在该字段上我正在尝试执行几个验证,如果形成不正确,还会将其更改为有效的URL。
例如test.com将更改为http://test.com。我还构建了一个自定义验证器来检查它是否是一个有效的URL,但顺序是完全错误的,所以它在我有机会添加http位之前就开始了。但是,如果该字段为空,则http会在过早发射而不是告诉用户他们需要输入内容。
目前我的验证工具如下:
before_validation :add_http
validates :url, :presence => true, :allow_nil => false, :allow_blank => false, :url => true
我确信有更好的方法来实现这一目标。我认为理想的流程应该是: