1

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

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的片段)

如果没有,我希望Albumform.new(album).valid?返回 false 。album.artist.name == nil我在这里想念什么?如何做到这一点?

使用:

  • 导轨 4.2.7.1
  • 改革轨道 0.1.7
  • 改革2.2.2
  • 干验证 0.10.3
4

1 回答 1

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
于 2017-07-11T20:48:14.513 回答