a mini social media app for small communities
1module main 2 3import regex 4 5// handles validation of user-input fields 6pub struct StringValidator { 7pub: 8 min_len int 9 max_len int = max_int 10 pattern regex.RE 11} 12 13@[inline] 14pub fn (validator StringValidator) validate(str string) bool { 15 return str.len > validator.min_len && str.len < validator.max_len 16 && validator.pattern.matches_string(str) 17} 18 19pub fn StringValidator.new(min int, max int, pattern string) StringValidator { 20 mut re := regex.new() 21 re.compile_opt(pattern) or { panic(err) } 22 return StringValidator{min, max, re} 23}