From 94eb96f3343c622acb141966357f03de776d76a0 Mon Sep 17 00:00:00 2001 From: wiwkok-pc <867034892@qq.com> Date: Fri, 25 Mar 2022 11:20:52 +0800 Subject: [PATCH] user register and login --- composer.json | 16 +++++++- example/{test.php => MyClassTest.php} | 0 example/UserLogin.php | 20 ++++++++++ example/UserRegister.php | 21 ++++++++++ src/UserInput.php | 55 +++++++++++++++++++++++++++ 5 files changed, 110 insertions(+), 2 deletions(-) rename example/{test.php => MyClassTest.php} (100%) create mode 100644 example/UserLogin.php create mode 100644 example/UserRegister.php create mode 100644 src/UserInput.php diff --git a/composer.json b/composer.json index 36dc735..dd4fb03 100644 --- a/composer.json +++ b/composer.json @@ -2,12 +2,24 @@ "name": "wiggins/my-project", "type": "library", "require": { - "php": ">=7.4" + "php": ">=7.4", + "yiisoft/yii2": "2.0.45" }, "autoload": { "psr-4": { "Wiggins\\MyProject\\": "src/" } }, - "minimum-stability": "dev" + "minimum-stability": "dev", + "config": { + "allow-plugins": { + "yiisoft/yii2-composer": true + } + }, + "repositories": [ + { + "type": "composer", + "url": "https://asset-packagist.org" + } + ] } diff --git a/example/test.php b/example/MyClassTest.php similarity index 100% rename from example/test.php rename to example/MyClassTest.php diff --git a/example/UserLogin.php b/example/UserLogin.php new file mode 100644 index 0000000..0eedf39 --- /dev/null +++ b/example/UserLogin.php @@ -0,0 +1,20 @@ +'login']); + + $obj->name='kuangweijian'; + // $obj->email="12345678@qq.com"; + $obj->password="123456546"; + + if($obj->validate()){ + echo "login succ".PHP_EOL; + }else{ + echo "login failed".PHP_EOL; + print_r($obj->getErrors()); + } +?> \ No newline at end of file diff --git a/example/UserRegister.php b/example/UserRegister.php new file mode 100644 index 0000000..491703a --- /dev/null +++ b/example/UserRegister.php @@ -0,0 +1,21 @@ +'register']); + + $obj->name='kuangweiian'; + $obj->email="12345678@qq.com"; + $obj->password="1234567890"; + $obj->pwdConfirm="1234567890"; + + if($obj->validate()){ + echo "register succ".PHP_EOL; + }else{ + echo "register failed".PHP_EOL; + print_r($obj->getErrors()); + } +?> \ No newline at end of file diff --git a/src/UserInput.php b/src/UserInput.php new file mode 100644 index 0000000..f46b16e --- /dev/null +++ b/src/UserInput.php @@ -0,0 +1,55 @@ + '3-20个英文或数字字符', + 'email' => '你的邮箱地址', + 'password' => '3-10个英文或数字字符', + 'pwdConfirm' => '需要与密码一致', + ]; + } + + public function scenarios() + { + return[ + 'login' => ['name','password'], + 'register' => ['name','email','password','pwdConfirm'], + ]; + } + + public function rules() + { + return[ + //用户名长度 + ['name','string','length'=>[3,20],'message'=>'用户名长度为3至20个字符'], + //用户名唯一性 + //['name','unique'], + //邮件格式 + ['email','email'], + //密码格式 + ['password','string','length'=>[3,10]], + //确认密码与密码需一直 + ['pwdConfirm','compare','compareAttribute'=>'password','message'=>'两次密码必须一致'], + //注册场景 + [['name','email','password','pwdConfirm'],'required','on'=>'register'], + //登录场景 + [['name','password'],'required','on'=>'login'], + ]; + } + } +?> \ No newline at end of file