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.
Takes a key and list of validation functions.
Returns Ok(Nil) if success or 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 with(
key: String,
value: value,
list: List(fn(value) -> Result(Nil, String)),
) -> Result(Nil, ValidationError)
Validates a list of requirements lazily.
Takes a key, value and list of validation functions.
Runs validation functions lazily and returns the result. Returns Ok(Nil) if success or Error(String) at first issue
pub fn with_optional(
key: String,
option: option.Option(value),
list: List(fn(value) -> Result(Nil, String)),
) -> Result(Nil, ValidationError)
Validates a list of requirements lazily.
Takes a key, an optional value and list of validation functions.
Runs validation functions lazily and returns the result. Returns Ok(Nil) if optional value is None or all validations are successful. Returns Error(String) at first issue.