我需要根据表单的上下文和位置为同一模型提供不同的错误消息。
对于验证 first_name
是否存在的 User
模型:
- 在后台页面可以有验证消息“名字不能为空”
- 在注册页面中,消息应该是“请输入您的名字”
我正在寻找一个简洁且面向最佳实践的解决方案,因为我不想使用 View 助手等进行破解。
感谢任何提示,谢谢
最佳答案
您可以使用 validate User
模型中的方法。像这样的东西
validate do |user|
if user.first_name.blank? && user.id.blank?
# id blank means the user is in registration page as he is new user.
user.errors.add(:base, "Please type your first name")
elsif user.first_name.blank?
user.errors.add(:base, "First name can't be blank")
end
end
关于ruby-on-rails - 根据上下文自定义验证错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23319603/