Changed to treat empty string as valid for some rule
Added MinLength rule