[英]How use validation inclusion in rails
class Stadium < ActiveRecord::Base
validates :name, :presence => true
validates :city, :presence => true
validates :contructiondate, :presence => true
validates :capacity, :presence => true
validates :image, :presence => true
validates :name, :uniqueness => true
validates :city, :uniqueness => true
validates :capacity, :numericality => { :only_integer => true, :greater_than_or_equal_to => 0 }
validates :image, :format => { :with => /^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/ix, :message => "Uniforme Invalido", :multiline => true }
validates :city, :inclusion => { :in => %w(Belo Horizonte Brasilia Curitiba Fortaleza Manaus Natal Recife Rio de Janeiro Salvador Sao Paulo), :message => "%{value} no esta permitido" }
validate :mydate_is_date?
def mydate_is_date?
errors.add(:contructiondate, 'must be a valid date') if !contructiondate.is_a?(Date)
end
end
我對包容性有疑問,它與Natal,Manaus,Salvador等字詞完美搭配,但對“ Sao Paulo”,“ Rio de Janeiro”等字詞無效,我該如何解決?
謝謝
嘗試使用反斜杠\\
轉義空格。
不逃避:
> %w(Belo Horizonte Brasilia Curitiba Fortaleza Manaus Natal Recife Rio de Janeiro Salvador Sao Paulo)
=> ["Belo",
"Horizonte",
"Brasilia",
"Curitiba",
"Fortaleza",
"Manaus",
"Natal",
"Recife",
"Rio",
"de",
"Janeiro",
"Salvador",
"Sao",
"Paulo"]
轉義:
> %w(Belo Horizonte Brasilia Curitiba Fortaleza Manaus Natal Recife Rio\ de\ Janeiro Salvador Sao\ Paulo)
=> ["Belo",
"Horizonte",
"Brasilia",
"Curitiba",
"Fortaleza",
"Manaus",
"Natal",
"Recife",
"Rio de Janeiro",
"Salvador",
"Sao Paulo"]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.