草庐IT

validate_password_policy

全部标签

ruby-on-rails - Rails validates_associated 与模型的错误信息

我在模型中使用validates_associated来使用其他模型的验证代码。问题是验证失败的消息是“..无效”。我想将模型验证失败的实际描述性错误冒泡到顶部!我发现了这个问题:validatesassociatedwithmodel'serrormessage它有一个看起来非常接近的解决方案:moduleActiveRecordmoduleValidationsclassAssociatedBubblingValidatorvalue))endendendendendmoduleClassMethodsdefvalidates_associated_bubbling(*attr_n

ruby-on-rails - rails : validation fails with before_create method on datetime attribute

ApiKey.create!抛出验证错误:expires_at不能为空。classApiKey有属性t.datetime:expires_at但是,如果删除了验证,则before_create方法会在创建时起作用。这是为什么?-此模式适用于其他属性,例如access_tokens(字符串)等 最佳答案 我会说因为before_create在验证之后运行,也许您想将before_create替换为before_validation注意:如果你像那样留下回调,它会在你运行valid?或save或任何时候设置到期日期触发验证的事件记录方法

ruby-on-rails - rails - rspec - 为什么这个 "validates_inclusion_of :role, :in => %w[one, two, three ] }"不起作用

我收到一个错误消息,指出此方法不存在,但这看起来相当基本,我不确定为什么会收到此错误消息?it{shouldvalidate_presence_of:role}#ThisisOK.Failure/Error:it{shouldvalidate_inclusion_of:role,:in=>%w[onetwothree]}NoMethodError:undefinedmethod`validate_inclusion_of'for#对于代码:classUser[one,twothree]]http://apidock.com/rails/ActiveModel/Validations/C

ruby-on-rails - rails : Devise : make `reset password` use `confirmation resend` if user is unconfirmed

鉴于用户正在等待确认电子邮件或已收到确认电子邮件,我如何确保他们不使用重置密码过程和强制他们填写标准确认表格(使用确认电子邮件)。在我的例子中,用户必须在确认后选择一个用户名,而密码重置很烦人地绕过了这个。 最佳答案 您需要禁用User模型中的:recoverable模块,因为这是启用密码重置的原因。如果您还没有自定义该页面,您还需要删除devise/sessions/new.html.erb中的忘记密码链接。 关于ruby-on-rails-rails:Devise:make`rese

ruby - gem 安装失败,显示 "ruby: invalid option -H (-h will show valid options) (RuntimeError)"

在OSXMountainlion上运行geminstallffi会产生以下错误。geminstallffiBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingffi:ERROR:Failedtobuildgemnativeextension./beweiche.rvm/rubies/ruby-1.9.3-p374/bin/rubyextconf.rb/beweiche.rvm/rubies/ruby-1.9.3-p374/bin/ruby:invalidoption-H(-hwillshowvalido

ruby - 是否可以结合 with_options 和 :if for conditional validations?

我正在尝试使用with_options为管理员用户将我的条件验证组合在一起。对用户名唯一性的第二次验证最终覆盖了with_options条件。有更好的方法吗?或者我应该忘记with_options并编写两个单独的语句?with_options:if=>Proc.new{|user|user.admin?}do|admin|admin.validates:email,:presence=>trueadmin.validates:username,:uniqueness=>true,:if=>Proc.new{|user|user.category=="customized_usernam

ruby - gem date_validator 不工作 Ruby 1.9.3 Rails 3.2.1

我刚刚安装了这个gem:geminstall'date_validation'我可以看到它已正确安装,因为它在我使用时出现在列表中:gemlist但是当我尝试将字段表单的内容验证为日期时,出现此错误:ArgumentErrorinProductesController#newUnknownvalidator:'DateValidator'我使用这段代码来验证:validates:data_caducitat,:date=>{:after=>Proc.new{Time.now}}知道可能是什么问题吗?提前致谢。 最佳答案 Rails3

ruby-on-rails - rails client_side_validations 和选择标签

gemclient_side_validations不验证未选择项目的选择标签。可能需要在模型或.erb文件中传递一些参数? 最佳答案 解决方案正在尝试验证存在。尝试验证数值/大于>0。 关于ruby-on-rails-railsclient_side_validations和选择标签,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/15845078/

ruby-on-rails - rails 3 : validates_presence_of validation errors on default value and in associated model

我有一个基本的发票设置模型:发票、项目、行项目。#invoice.rbclassInvoice:destroyvalidates_presence_of:statusbefore_save:default_valuesdefdefault_valuesself.status='sent'unlessself.statusendend#item.rbclassItemtrueend模型中还有更多内容,但为了简单起见,我只介绍了以上内容。我收到以下错误:2errorsprohibitedthisinvoicefrombeingsaved:Lineitemsinvoicecan'tbebla

ruby-on-rails - before_validation 没有被调用?

我遇到了一个奇怪的问题,我找不到合理的解释。我正在调查一个错误并放置一些日志记录(通过Rollbar),这样我就可以看到我的模型之一的一些实例的演变。这是我得到的:classConnexionself.id,:connexion_details=>self.attributes)endend现在我在rollbar中获取大量数据(每次创建/更新连接时几乎有2行)。但奇怪的是:对于某些连接(=>正是我正在调查的那些有错误数据的连接),我根本没有得到任何数据!我不明白如何创建连接并将其持久保存到数据库,并且没有任何before_validation日志记录的踪迹。看起来回调没有被调用,但除非