进行不使用数据库的表单验证

时间:2016-01-20 10:26:51

标签: ruby-on-rails validation

我有一张表格,我已经做了一些输入。提交表单后,该值将被发送到API。我知道验证是放在模型文件中的,但由于我没有数据库,我如何使用rails验证?

现在我正在使用if else验证控制器内的代码。

if !params[:groups][:name].blank? && !params[:groups][:make].blank? && !params[:groups][:model].blank? && !params[:groups][:firmware].blank?

这是有效的,但不是很优雅。

2 个答案:

答案 0 :(得分:8)

看看ActiveModel,它可以让你做事情"模仿事物"没有数据库。有一些限制使我最终没有使用它(我认为与协会相关)但是对于简单的东西它很棒(而且它是ActiveRecord如何工作的一部分。

来自文档的示例代码

class Person
  include ActiveModel::Model
  attr_accessor :name, :age
  validates :name, :age, presence: true
end

答案 1 :(得分:1)

这很容易。在您需要的表单输入字段上,添加required: true例如:

<%= form.for @something do |f| %>
  <%= f.text_field :title, placeholder: 'Title', required: true %>
<% end %>

如果未填写必填字段,则用户会收到错误。

这是你的意思吗?

贾斯汀

修改

我想我会看看使用宝石 client_side_validations

告诉我们您的行程