ruby-on-rails – Rails模型验证:我需要validates_inclusion_of,区分大小写错误?

ruby-on-rails – Rails模型验证:我需要validates_inclusion_of,区分大小写错误?,第1张

概述这是无效的代码 class WeekDay < ActiveRecord::Base validates_inclusion_of :day, :in => %w(sunday monday tuesday wednesday thursday friday saturday), :case_sensitive => false end 目前我在数据库中的所有日子除了 这是无效的代码

class WeekDay < ActiveRecord::Base           valIDates_inclusion_of :day,:in => %w(sunday monday tuesday wednesday thursday frIDay saturday),:case_sensitive => false    end

目前我在数据库中的所有日子除了星期日.我试图添加“星期日”,并获得错误“不包括在列表中”.

解决方法 valIDates_inclusion_of没有case_sensitive参数,因此您可以创建自己的验证器(如果您使用的是Rails 3):

class DayFormatValIDator < ActiveModel::EachValIDator  def valIDate_each(object,attribute,value)    unless %w(sunday monday tuesday wednesday thursday frIDay saturday).include?(value.downcase)      object.errors[attribute] << (options[:message] || "is not a proper day.")     end  endend

并将其保存在lib目录中:

lib/day_format_valIDator.rb

然后在您的模型中,您可以:

valIDates :day,:day_format => true

只需确保rails在启动时加载此lib文件,方法是将它放在config / application.rb中:

config.autoload_paths += Dir["#{config.root}/lib/**/"]
总结

以上是内存溢出为你收集整理的ruby-on-rails – Rails模型验证:我需要validates_inclusion_of,区分大小写错误?全部内容,希望文章能够帮你解决ruby-on-rails – Rails模型验证:我需要validates_inclusion_of,区分大小写错误?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1282402.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存