ajax,json的使用
注册页面:
<form class="form-horizontal" action="" method="post" id="login" > <div class="form-group"> <label for="inputEmail1" class="col-sm-2 control-label">用户名</label> <div class="col-sm-6"> <input type="text" class="form-control" name="name" id="inputEmail1" placeholder="name"> </div> </div> <div class="form-group"> <label for="inputEmail2" class="col-sm-2 control-label">手机</label> <div class="col-sm-6"> <input type="number" class="form-control" name="mobile" id="inputEmail2" placeholder="Phone Number"> </div> </div> <div class="form-group"> <label for="inputEmail3" class="col-sm-2 control-label">邮箱</label> <div class="col-sm-6"> <input type="email" class="form-control" name="email" id="inputEmail3" placeholder="Email"> </div> </div> <div class="form-group"> <label for="inputPassword4" class="col-sm-2 control-label">密码</label> <div class="col-sm-6"> <input type="password" class="form-control" name="password" id="inputPassword4" placeholder="Password"> </div> </div> <div class="form-group"> <label for="inputPassword5" class="col-sm-2 control-label">确认密码</label> <div class="col-sm-6"> <input type="password" class="form-control" name="password_confirm" id="inputPassword5" placeholder="Password Confirm"> </div> </div> <div class="form-group"> <div class="col-sm-offset-2 col-sm-6"> <button type="button" class="btn btn-primary" id="register">注册</button> </div> </div> </form>
处理用户提交信息的控制器
<?php namespace app\index\controller; use app\common\controller\Base; use app\common\model\User as UserModel;//调用User数据模型 use think\facade\Request; /** * 用户信息控制器 */ class User extends Base { /** * 显示注册页面 */ public function register() { $this->assign('title', '注册页面'); return $this->view->fetch(); } //处理用户提交的注册信息 public function insert() { if(Request::isAjax()){ //获取提交的数据 $data = Request::post(); //验证规则 $rule = 'app\common\validate\User'; //开始验证 $res = $this->validate($data, $rule); if($res !== true){ return ['status'=>-1, 'message'=>$res]; }else{ //使用模型创建数据 //插入用户提交的表单数据 if(UserModel::create($data)){ return ['status'=>1, 'message'=>'恭喜,注册成功!']; }else{ return ['status'=>0, 'message'=>'注册失败,请检查!']; } } }else{ $this->error("请求类型错误!", 'register'); } } }
验证器
<?php namespace app\common\validate; use think\Validate;//调用框架的验证类 /** * 用户信息验证器 */ class User extends Validate//继承框架的验证类 { //创建当前验证规则 protected $rule = [ 'name|用户名' =>[ 'require', 'length' => '5,20', 'chsAlphaNum',//仅允许汉子、字母和数字 ], 'mobile|手机' =>[ 'require', 'mobile', 'unique' => 'zh_user',//该字段在zh_user表中是唯一的 'number' => 'number', ], 'email|邮箱' =>[ 'require', 'email' => 'email', 'unique' => 'zh_user',//该字段在zh_user表中是唯一的 ], 'password|密码' =>[ 'require', 'length' => '3,20', 'alphaNum',//只能是字母和数字 'confirm',//自动与表单中name="password_confirm"字段进行自动相等验证 ], ]; }