使用 Phoenix 验证嵌套模型的最佳方法是什么?

What is the best way to validate a nested model with Phoenix?

来自 背景,我经常发现自己编写 Form Requests 来验证嵌套模型。

在我的例子中,我有一个 Model,它有很多 (1..*) NestedModelModel 必须使用 NestedModel 创建。我收到的有效负载如下所示:

{
    "model": {
        "nested_model": {
            // ...
        },
        // ...
    }
}

NestedModelModel 的负载中唯一需要的时间是在我的 ModelController@create端点。 NestedModel有自己的端点。

我将如何使用 changesets 来实现这个,因为我想先验证我的有效负载,然后将两个模型保存到我的数据库中?

要验证 Ecto 中的嵌套模型可以使用 cast_assoc/3