ruby - 仅当用户输入值时如何应用验证?

标签 ruby ruby-on-rails-3 ruby-on-rails-3.2

我有一个注册表单,用户可以在其中输入他的主要电话和传真。传真号码是可选的,我在 User.rb 模型中使用以下代码:

validates :fax, format: {with: VALID_PHONE_REGEX }, if: :active_or_personal_step?

问题在于,无论用户是否在字段中输入了任何内容,此验证都会启动。如何在此代码中包含“仅在存在时验证:true”规则?

谢谢!

最佳答案

validates :fax, format: {with: VALID_PHONE_REGEX}, :unless => 'fax.blank?'

关于ruby - 仅当用户输入值时如何应用验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13768338/

相关文章:

mysql - 删除父节点但不删除具有 Awesome_nested_set 的子节点?

ruby - 使用 ruby​​ 进行套接字编程是个好主意吗?

ruby-on-rails - 数据何时应包含在 Rails 自己的模型中?

ruby-on-rails - 混合backbone.js 路由器和rails Controller

ruby-on-rails - 如何防止 ActiveRecord 保存未更改的序列化列?

ruby - 将参数传递给 Rspec SpecTask

ruby - 在 Ruby 中获取 UTC 偏移量

ruby-on-rails-3 - 如何从 rails 控制台运行初始化程序?

ruby-on-rails - ActionMailer - 如何从 s3 添加附件

ruby-on-rails - rails : Turn off error display