Elixir 从以前的变更集中获取数据

Elixir 从以前的变更集中获取数据,elixir,ecto,Elixir,Ecto,我有一套机场机票的数据: %{ class: "economy", legs: [ %{date: "2018-08-01", from: ["FRA"], to: ["LON"]}, %{date: "2018-08-10", from: ["LON"], to: ["FRA"]} ], passengers: %{adults: 1, children: 0, infants: 0} } 我正在使用cast\u assoc进行腿部训练: ... |>

我有一套机场机票的数据:

%{
  class: "economy",
  legs: [
    %{date: "2018-08-01", from: ["FRA"], to: ["LON"]},
    %{date: "2018-08-10", from: ["LON"], to: ["FRA"]}
  ],
  passengers: %{adults: 1, children: 0, infants: 0}
}
我正在使用
cast\u assoc
进行腿部训练:

...
|> cast(attrs, [:passengers, :class])
|> cast_assoc(:legs)
...
我需要检查日期的顺序是否正确(第一次航班的日期必须在第二次航班的日期之前)。
如何获取日期前一个变更集的值?

我不知道我可以在字段上使用“validate\u change”,如“legs”


Thx到wmnnd

只需在
cast_assoc
之前使用普通长生不老药
map
而不是
exto
@mudasobwa进行验证就可以了吗?不知道,但我看不出有任何理由在cast_assoc之后尝试这样做。assoc根本不应该尝试,如果日期违反规则,这正是Ecto验证的目的。我想知道您是否可以在
cast\u assoc
之后添加自定义的Ecto验证。“这应该也行,不是吗?”穆达索布瓦抱歉,我不明白。您的意思是在标准验证之后进行自定义验证吗?如果出现错误,请使用
添加错误