我在模型上有自定义验证,它允许我检查1个字段的唯一性但与另一个模型有关,类似于(1,2,3,4,5) - > User1,(1,2,3,4,5) - > User2,因为对于2个不同的用户实际上可以存在一个值,但对于相同的用户而言不是2次,我必须使用自定义验证器!这是我的代码:
def codigoDuplicado?
@invinveacCommit = Invinveac.where(codproveedor: codproveedor, ndocumento: ndocumento).first
if @invinveacCommit != nil
errors.add(:ndocumento, "Ya existe un movimiento con el mismo codigo para el proveedor seleccionado.")
end
end
我的问题是,它甚至试图验证更新方法,我不需要验证该代码,是否有任何方法可以跳过更新操作的验证?
答案 0 :(得分:1)
您可以在设置验证时使用:on
关键字
所以在你的模型中,我假设你有类似的东西:
validate :codigoDuplicado?
你可以做到这个
validate :codigoDuplicado?, on: :create