Rails验证特定的值



我有这样的代码

我有这些选项,如果用户选择除了'British Columbia'以外的任何内容给他错误信息,该省必须'不列颠哥伦比亚省'

我相信它会通过使用模型验证

来解决
<%= f.label :province ,"Province (required)"%><br>
    <%= f.select(:province, [["Select One", ""],'Alberta','British Columbia','Manitoba','New Brunswick','Newfoundland and Labrador','Nova Scotia','Northwest Territories','Nunavut','Ontario','Prince Edward Island','Quebec','Saskatchewan','Yukon'], {}) %>

User.rb

  validates :province, presence: "British Columbia"

您不应该使用presence,这是错误的验证。你应该使用include:

validates :province, inclusion: { in: %w[British Columbia] }

你知道这是个毫无意义的问题,对吧?如果验证只接受一个,那么在视图中提供多个备选方案又有什么意义呢?

相关内容

  • 没有找到相关文章

最新更新