Trailblazer Operation Contract 在操作后验证模型

Trailblazer Operation Contract validate the model after manipulation

我有一个模型,其数量参数必须大于零。 我的表格要求用户提供一个数字以从模型的数量中减去。 从金额中减去数字后如何验证我的模型?

示例:现在数量是 50。用户输入是 51。50-51 = -1 小于 0。验证应该失败。

现在我的操作看起来像这样,但它只验证用户输入,而不是最终模型:

step :model!
step :new_amount!
step Contract::Build()
step Contract::Validate()
step Contract::Persist()

我在合约中使用反序列化器先减去值。