84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
在验证手机的时候,没有任何提示就跳转会注册页面了
前面的邮箱和用户名可以正常验证
已解决,原来真的是注册页面的name属性设置错误
注册页面的内容太多,貌似贴不上来,
注册页面和老师的写的一模一样
控制器
namespace app\index\controller;use app\common\controller\Base;use think\facade\Request;use app\common\model\User as UserModel;class User extends Base{//注册页面public function register(){$this->assign('title','用户注册');return $this->fetch();}//处理用户提交的注册信息public function insert(){if(Request::isAjax()){/*** 使用模型来创建数据*///验证数据$data= Request::post();//等到要验证的数据$rule= 'app\common\validate\User';//自定义的验证规则$res=$this->validate($data,$rule);//开始验证数据if(true !==$res){//如果数据不正确,返回验证信息return ['status'=>-1,'message'=>$res];}else{//如果数据正确if(UserModel::create($data)){return ['status'=>1,'message'=>'恭喜,注册成功'];}else{return ['status'=>0,'message'=>'注册失败,请检查'];}}}else{$this->error("请求类型错误", 'register');}}}
验证规则namespace app\common\validate\User.php:
namespace app\common\validate;use think\Validate;class User extends Validate{/*** 当前验证规则* @var array*/protected $rule = [/*** 另一种写法:* 'name|用户名'=>'require|length:5,20|chsAlphaNum',* 'email|邮箱'=>'require|email|unique:zh_user',* 'password|密码'=>'require|alphaNum|length:6,20|confirm',* 'mobile|手机'=>'require|mobile|unique:zh_user|number'*/'name|用户名'=>['require'=>'require','length'=>'5,20','chsAlphaNum'=>'chsAlphaNum',//仅允汉字,字符和数字],'email|邮箱'=>['require'=>'require','unique'=>'zh_user',//该字段值在zh_user表中是唯一性'email'=>'email',],'mobile|手机'=>['require'=>'require','mobile'=>'mobile','unique'=>'zh_user',//该字段值在zh_user表中是唯一性'number'=>'number',],'password|密码'=>['require'=>'require','alphaNum'=>'alphaNum',//仅允许字母加数字'length'=>'6,20',//长度限定'confirm'=>'confirm',//自动与password_confirm字段进行相等验证],];}
贴代码看下
已解决,原来真的是注册页面的name属性设置错误
注册页面的内容太多,貌似贴不上来,
注册页面和老师的写的一模一样
控制器
namespace app\index\controller;
use app\common\controller\Base;
use think\facade\Request;
use app\common\model\User as UserModel;
class User extends Base
{
//注册页面
public function register()
{
$this->assign('title','用户注册');
return $this->fetch();
}
//处理用户提交的注册信息
public function insert()
{
if(Request::isAjax())
{
/**
* 使用模型来创建数据
*/
//验证数据
$data= Request::post();//等到要验证的数据
$rule= 'app\common\validate\User';//自定义的验证规则
$res=$this->validate($data,$rule);//开始验证数据
if(true !==$res)
{
//如果数据不正确,返回验证信息
return ['status'=>-1,'message'=>$res];
}
else
{
//如果数据正确
if(UserModel::create($data))
{
return ['status'=>1,'message'=>'恭喜,注册成功'];
}
else
{
return ['status'=>0,'message'=>'注册失败,请检查'];
}
}
}
else
{
$this->error("请求类型错误", 'register');
}
}
}
验证规则namespace app\common\validate\User.php:
namespace app\common\validate;
use think\Validate;
class User extends Validate
{
/**
* 当前验证规则
* @var array
*/
protected $rule = [
/**
* 另一种写法:
* 'name|用户名'=>'require|length:5,20|chsAlphaNum',
* 'email|邮箱'=>'require|email|unique:zh_user',
* 'password|密码'=>'require|alphaNum|length:6,20|confirm',
* 'mobile|手机'=>'require|mobile|unique:zh_user|number'
*/
'name|用户名'=>[
'require'=>'require',
'length'=>'5,20',
'chsAlphaNum'=>'chsAlphaNum',//仅允汉字,字符和数字
],
'email|邮箱'=>[
'require'=>'require',
'unique'=>'zh_user',//该字段值在zh_user表中是唯一性
'email'=>'email',
],
'mobile|手机'=>[
'require'=>'require',
'mobile'=>'mobile',
'unique'=>'zh_user',//该字段值在zh_user表中是唯一性
'number'=>'number',
],
'password|密码'=>[
'require'=>'require',
'alphaNum'=>'alphaNum',//仅允许字母加数字
'length'=>'6,20',//长度限定
'confirm'=>'confirm',//自动与password_confirm字段进行相等验证
],
];
}
贴代码看下