📄 validate.php
字号:
<?//Validate.php 验证类include_once("User.php");include_once("Properties.php");include_once("MyException.php");class Validate{ public static function validateUser(User $user){ try{ self::validateName($user->getUsername()); //用户名验证 }catch(UsernameException $ex){ //错误信息放入session. $_SESSION[Properties::$validate_Username] = $ex->getMessage(); } try{ self::validatePassword($user->getPassword()); }catch(PasswordException $ex){ //错误信息放入session. $_SESSION[Properties::$validate_Password] =$ex->getMessage(); } if($ex){ //将用户名和密码放入session $_SESSION[Properties::$username] = $user->getUsername(); $_SESSION[Properties::$password] = $user->getPassword(); throw $ex; //向外抛出异常实例. }//如果没有异常抛出,就天下太平. 没有问题. } //验证用户名长度和是否符合正则表达式. //没有完全使用正则表达式,而先使用了长度判断,是为了提供更确切的错误信息. private static function validateName($username){ if(strlen($username) < Properties::$UsernameLengthMin){ throw new UsernameLengthMinException(Properties::$validate_UsernameLengthMin); }elseif (strlen($username) > Properties::$UsernameLengthMax){ throw new UsernameLengthMaxException(Properties::$validate_UsernameLengthMax); }elseif(! ereg("^[a-zA-Z0-9]*$",$username)){ throw new UsernameInvalidateException(Properties::$validate_UsernameInfo); } } //验证密码. private static function validatePassword($password){ if(strlen($password) < Properties::$PasswordLengthMin){ throw new PasswordLengthMinException(Properties::$validate_PasswordLengthMin); }elseif (strlen($password) > Properties::$UsernameLengthMax){ throw new PasswordLengthMaxException(Properties::$validate_PasswordLengthMax); }elseif(! ereg("^[a-zA-Z0-9]*$",$password)){ throw new PasswordInvalidateException(Properties::$validate_PasswordInfo); } }}?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -