我需要使用shortcut_url对User模型进行验证以适合正则表达式。
user.shortcut_url[/^[a-z]|[A-Z]*/]
我希望它抛出错误并添加到用户的消息中。我没有事先的研究就想到了这一点并提出了
def validate_shortcut_url
if self.shortcut_url
if self.shortcut_url[/^[a-z]|[A-Z]*/] != ""
return true
else
self.errors.full_messages << "Shortcut URL must begin with a letter"
return false
end
end
end
然后把
validate :validate_shortcut_url
在我的模型的顶部。现在。这样做的正确方法是什么?
答案 0 :(得分:1)
要运行自定义验证,只需致电:
validate :validate_shortcut_url
在模型中。此外,由于您使用的是用户模型,因此无需传入用户 - 您只需使用self
中的self.shortcut_url
答案 1 :(得分:1)
这似乎还有很长的路要走 为什么你不会这样做
validates_format_of :validate_shortcut_url, :with => /^[a-z]|[A-Z]*/, :message => "Shortcut URL must begin with a letter"