glimr/forms/form

Form Helpers

Utilities for working with form data submissions including field value extraction, file upload handling, and validation helpers for HTML form processing.

Values

pub fn get(form: wisp.FormData, field: String) -> String

Extracts a field value from submitted form data by name. Returns the field value as a string, or an empty string if the field doesn’t exist. Use for optional form fields.

Example:

let email = form |> form.get("email")
pub fn get_file(
  form: wisp.FormData,
  field: String,
) -> wisp.UploadedFile

Extracts an uploaded file from the form data by field name. Returns UploadedFile if found, or panics if the requested file is not found in your form data.

Example:

form.get_file("avatar")
pub fn get_file_result(
  form: wisp.FormData,
  field: String,
) -> Result(wisp.UploadedFile, Nil)

Extracts an uploaded file from the form data by field name. Returns Ok(UploadedFile) if found, or Error(Nil) if the file field doesn’t exist. Use for file upload processing.

Example:

case form |> form.get_file("avatar") {
  Ok(file) -> save_upload(file)
  Error(_) -> panic as "I'm literally panicking rn"
}
pub fn has(form: wisp.FormData, field: String) -> Bool

Checks whether a field exists in the submitted form data. Returns True if the field is present, False otherwise. Use to validate required fields before processing.

Example:

case form |> form.has("email") {
  True -> process_email(form_data)
  False -> panic as "I'm literally panicking rn"
}
pub fn has_file(form: wisp.FormData, field: String) -> Bool

Checks whether a file upload field exists in the submitted form data. Returns True if present, False otherwise. Use to validate file uploads before processing.

Example:

case form_data |> form.has_file("avatar") {
  True -> process_upload(form_data)
  False -> use_default_avatar()
}
Search Document