Move forms into separate files
This commit is contained in:
parent
9c023e272a
commit
fc75e2c6a3
32
src/forms.rs
32
src/forms.rs
|
@ -1,31 +1,3 @@
|
||||||
use validator::{Validate, ValidationError};
|
mod user;
|
||||||
|
|
||||||
#[derive(FromForm, Validate)]
|
pub use self::user::*;
|
||||||
pub struct UserSignUp {
|
|
||||||
#[validate(length(min = 4, max = 128), custom = "validate_username")]
|
|
||||||
pub username: String,
|
|
||||||
#[validate(length(min = 8, max = 128), custom = "validate_password")]
|
|
||||||
pub password: String,
|
|
||||||
}
|
|
||||||
|
|
||||||
fn validate_username(value: &String) -> Result<(), ValidationError> {
|
|
||||||
let re = regex::Regex::new(r"^[a-z][a-z0-9]*$").unwrap();
|
|
||||||
|
|
||||||
if re.is_match(value) {
|
|
||||||
Ok(())
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
Err(ValidationError::new("has invalid format"))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn validate_password(value: &String) -> Result<(), ValidationError> {
|
|
||||||
let bad_re = regex::Regex::new(r"^\s*$").unwrap();
|
|
||||||
|
|
||||||
if bad_re.is_match(value) {
|
|
||||||
Err(ValidationError::new("is blank"))
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
Ok(())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
use validator::{Validate, ValidationError};
|
||||||
|
|
||||||
|
#[derive(FromForm, Validate)]
|
||||||
|
pub struct UserSignUp {
|
||||||
|
#[validate(length(min = 4, max = 128), custom = "validate_username")]
|
||||||
|
pub username: String,
|
||||||
|
#[validate(length(min = 8, max = 128), custom = "validate_password")]
|
||||||
|
pub password: String,
|
||||||
|
}
|
||||||
|
|
||||||
|
fn validate_username(value: &String) -> Result<(), ValidationError> {
|
||||||
|
let re = regex::Regex::new(r"^[a-z][a-z0-9]*$").unwrap();
|
||||||
|
|
||||||
|
if re.is_match(value) {
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Err(ValidationError::new("has invalid format"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn validate_password(value: &String) -> Result<(), ValidationError> {
|
||||||
|
let bad_re = regex::Regex::new(r"^\s*$").unwrap();
|
||||||
|
|
||||||
|
if bad_re.is_match(value) {
|
||||||
|
Err(ValidationError::new("is blank"))
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue