X-Git-Url: http://git.euphorik.ch/?p=recipes.git;a=blobdiff_plain;f=common%2Fsrc%2Futils.rs;fp=common%2Fsrc%2Futils.rs;h=94b8c38c55e77f88d604995545e20204fbe14906;hp=0000000000000000000000000000000000000000;hb=45d4867cb37ce8d7007c4d98de70d81d0b705b92;hpb=b1ffd1a04a55d6653ed55ea99f09550e5a8a9a96 diff --git a/common/src/utils.rs b/common/src/utils.rs new file mode 100644 index 0000000..94b8c38 --- /dev/null +++ b/common/src/utils.rs @@ -0,0 +1,24 @@ +use regex::Regex; +use lazy_static::lazy_static; + +pub enum EmailValidation { + Ok, + NotValid, +} + +lazy_static! { + static ref EMAIL_REGEX: Regex = Regex::new(r"^([a-z0-9_+]([a-z0-9_+.]*[a-z0-9_+])?)@([a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,6})").expect("Error parsing email regex"); +} + +pub fn validate_email(email: &str) -> EmailValidation { + if EMAIL_REGEX.is_match(email) { EmailValidation::Ok } else { EmailValidation::NotValid } +} + +pub enum PasswordValidation { + Ok, + TooShort, +} + +pub fn validate_password(password: &str) -> PasswordValidation { + if password.len() < 8 { PasswordValidation::TooShort } else { PasswordValidation::Ok } +} \ No newline at end of file