gloo/validate
Input validation combinators. validate.struct collects ALL field errors
before returning — it never short-circuits.
validate.struct([
validate.field("email", email, [validate.format("^[^@]+@[^@]+$")]),
validate.field("name", name, [validate.max_length(100)]),
])
// -> Result(List(value), List(validate.Error))
Types
Values
pub fn field(
name: String,
value: a,
rules: List(fn(a) -> Result(Nil, String)),
) -> Result(a, List(Error))
Validate a single field against a list of rules. Runs every rule regardless of prior failures.
pub fn max_length(n: Int) -> fn(String) -> Result(Nil, String)
pub fn required(
field_name: String,
value: option.Option(a),
) -> Result(a, List(Error))