Sign up form and other stuff
[recipes.git] / common / src / utils.rs
diff --git a/common/src/utils.rs b/common/src/utils.rs
new file mode 100644 (file)
index 0000000..94b8c38
--- /dev/null
@@ -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