Первоначальный камень реформы, как справиться с этим типом проверки ввода?

Мы смотрим на использование камня реформ для проверки входных данных.

Одна из проблем, с которыми мы сталкиваемся, заключается в том, что мы принимаем данные в следующем формате:

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

Как мы проверяем содержимое записей, чтобы убедиться, что у каждого есть имя? Значения id-записи не известны заранее.

1 ответ

Реформа в настоящее время не допускает динамических свойств, и фактически она не планируется, поскольку предполагается, что Reform является объектом формы, специфичным для пользовательского интерфейса.

Решение состоит в том, чтобы предварительно проанализировать ваш вклад в то, что предлагает Лора. Затем вы можете иметь вложенные свойства для каждого поля.

collection :records do
  property :id # manually parsed
  property :name
end
Другие вопросы по тегам