valguard

Types

Key/Value pair for encoding validation errors. Key indicates the name of the field that failed validation and Value is the error message.

pub type ValidationError {
  ValidationError(key: String, value: String)
}

Constructors

  • ValidationError(key: String, value: String)

Values

pub fn append_error(
  result: Result(Nil, ValidationError),
  list: List(ValidationError),
) -> List(ValidationError)

Takes a validation result and list of validation errors If result is error, it adds it to the list

pub fn collect_errors(
  inputs: List(Result(Nil, ValidationError)),
) -> List(ValidationError)

Takes a list of validation results and returns a list of the errors Returns an empty list if no errors

pub fn list(
  key: String,
  list: List(fn() -> Result(Nil, String)),
) -> Result(Nil, ValidationError)

Validates a list of requirements lazily. Returns Ok(Nil) if success, Error(String) at first issue

pub fn prepare(
  errors: List(ValidationError),
) -> Result(Nil, List(ValidationError))

Takes a list of validation errors and converts it to a result Returns ok if list is empty

pub fn prepare_with(
  errors: List(ValidationError),
  custom_type: fn(List(ValidationError)) -> custom_type,
) -> Result(Nil, custom_type)

Takes a list of validation errors and converts it to a result wrapping the errors in a custom type. Returns Ok(Nil) if list is empty.

This functions similar to valguard.prepare.

pub fn single(
  key: String,
  validation_result: Result(Nil, String),
) -> Result(Nil, ValidationError)

Deprecated: Use function `with` instead

Validates a single validation function

pub fn with(
  key: String,
  value: value,
  list: List(fn(value) -> Result(Nil, String)),
) -> Result(Nil, ValidationError)

Takes a key, value and list of validation functions. Runs then lazily and returns the result.

pub fn wrap_result(
  result: Result(Nil, List(ValidationError)),
  custom_type: fn(List(ValidationError)) -> custom_type,
) -> Result(Nil, custom_type)

Wrap list of errors from a Validation Result in a custom type.

Search Document