Интересно, есть ли способ создать объекты формы с Elixir
и Phoenix
framework? Я хочу реализовать что-то похожее на то, что reform
gem делает в Rails
, потому что мне не нравится, что в каждом случае выполняются одни и те же проверки, что приводит к сложному коду в моем опыте. Могу ли я создать что-то вроде следующего и заставить его работать как-нибудь?
defmodule RegistrationForm do
defstruct email: nil, password: nil, age: nil
import Ecto.Changeset
def changeset(model, params \\ :empty) do
model
|> cast(params, ["email", "password", "age"], ~w())
|> validate_length(:email, min: 5, max: 240)
|> validate_length(:password, min: 8, max: 240)
|> validate_inclusion(:age, 0..130)
end
end