zoukankan      html  css  js  c++  java
  • rails中validates及各种方法 小青年

    首先是不为空validates :name,presence:{message:'blank is not allowed'}

    唯一性:validates :name,uniqueness:{message:'already exist!',case_sensitive: false}#case_sensitive区分大小写

    长度:validates :name,length:{in: 6..20,message:'must in 6-20 byte'}

    格式:validates :name,format:{with: /[a-z]/,message:'must contain at least one lower case character'}

    范围:validates :country,inclusion:{in:['China','USA','Jpan','Mexico'],message:'must one of China USA Jpan Mexico '}

    数字:validates :graduate,numericality:{allow_nil: true,greater_than: 1920,less_than_or_equal_to:Time.now.year}


     validates :description,presence:true,if: :require_description_presence?

     def require_description_presence?

          self.can_send_mail

     end

     这个validates :description,presence: true只有在require_description_presence?方法返回true的时候才会起作用

    validate :description_length_words

     def description_length_words

        unless self.description.blank? then

           num_words = self.description.split.length

           if num_words < 5 then

             self.errors.add(:description,'must be at least 5 words long')

           elsif num_words > 50

              self.errors.add(:description,'must be at most 50 words long')

            end

        end

    end

    validates_exclusion_of 是和validates_inclusion_of相反的!

  • 相关阅读:
    天梯赛练习2 补题
    QFNU 天梯赛练习 1 补题
    2019 山东省赛 B 题
    CCPC2020 网络赛 总结
    一个比较好看的 Typora 主题
    〔OS〕磁盘调度算法
    〔OS〕页面置换算法
    〔OS〕多线程模拟实现生产者和消费者
    〔OS〕银行家算法
    LCS and LIS
  • 原文地址:https://www.cnblogs.com/perish/p/2685180.html
Copyright © 2011-2022 走看看