【问题标题】:How do I validate nested attributes using reform + dry-validation?如何使用改革 + 干式验证来验证嵌套属性?
【发布时间】:2016-12-01 13:11:27
【问题描述】:

对我传入的记录的属性(即required(:title).filled)触发验证并按预期工作,但不适用于嵌套模型的属性(即artist 中的required(:name).filled)。

class AlbumForm < Reform::Form
  property :title

  validation do
   required(:title).filled
  end

  property :artist do
    property :name

    validation do
     required(:name).filled
    end
  end
end

(摘自http://trailblazer.to/gems/reform

如果album.artist.name == nil,我希望Albumform.new(album).valid? 返回false,但事实并非如此。我在这里想念什么?如何实现?

使用:

  • 导轨 4.2.7.1
  • 改革轨道 0.1.7
  • 改革 2.2.2
  • dry-validation 0.10.3

【问题讨论】:

    标签: ruby-on-rails validation reform trailblazer


    【解决方案1】:

    长话短说,您应该使用validate(params[:album]) 而不是valid? http://trailblazer.to/gems/reform/#validation

    def create 
      # params album: { name: nil, other_stuff: 'stuff' }
    
      form = AlbumForm.new(Album.new)
      if form.validate(params[:album])
        form.save
      end
    end
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多