Derive Macro sanitizer::prelude::Sanitize[][src]

#[derive(Sanitize)]
{
    // Attributes available to this derive:
    #[sanitize]
}

The Sanitize derive macro implements the Sanitize trait for you. The trait only has a single associated function called sanitize which edits the fields based on the sanitizer you specified in the helper attributes

Example

use sanitizer::prelude::*;

#[derive(Sanitize)]
struct User {
   #[sanitize(trim)]
   name: String,
   #[sanitize(custom(eight))]
   acc_no: u8
}

fn eight(mut acc_no: u8) -> u8 {
    if acc_no != 8 {
        acc_no = 8;

    }
    acc_no
}

fn main() {
	let mut instance = User {
		name: String::from("John, Doe "),
        acc_no: 10
	};
	instance.sanitize();
	assert_eq!(instance.name, "John, Doe");
    assert_eq!(instance.acc_no, 8);
}

Available sanitizers

  • trim: Trims the string.
  • numeric: Remove numeric items from the string.
  • alphanumeric: Remove alphanumeric items from the string.
  • lower_case: Convert input to lower case.
  • upper_case: Convert input to upper case.
  • camel_case: Convert input to camel case.
  • snake_case: Convert input to snake case.
  • e164: Convert a valid phone number to the e164 international standard, panic if invalid phone number.
  • clamp(min, max): Limit an integer input to this region of min to max.
  • clamp(max): Cut the string if it exceeds max.
  • screaming_snake_case: Convert input to screaming snake case.
  • custom(function): A custom function that is called to sanitize a field according to any other way.