0

我们正在考虑使用改革 gem 来验证输入。

我们面临的问题之一是我们接受这种格式的输入:

params = {
  records: {
    "record-id-23423424": {
      name:       'Joe Smith'
    }
    "record-id-43234233": {
      name:       'Jane Doe'
    }
    "record-id-345234555": {
      name:       'Fox trot'
    }
    "record-id-34234234": {
      name:       'Alex'
    }
  }
}

所以如果我们要创建改革课

class RecordForm < Reform::Form
  property :records
  validates :records, presence: true

  # ?????????
end

我们如何验证记录的内容以确保每个记录都有名称?record-id-values 是未知的。

4

1 回答 1

0

目前改革不允许动态属性,实际上,它没有计划,因为改革应该是一个特定于 UI 的表单对象。

解决方案是将您的输入预先解析为Laura 建议的内容。然后,您可以为每个字段设置嵌套属性。

collection :records do
  property :id # manually parsed
  property :name
end
于 2017-12-21T09:16:42.387 回答