{load href="/static/css/bootstrap.css" /}
{load href="/static/js/jquery-3.3.1.min.js" /}
{load href="/static/js/bootstrap.js" /}
<!-- 注册表单:采用水平表单 -->
<div><h4>用户注册</h4></div>
<form id="form" method="post" class="form-horizontal">
<div class="form-group">
<label for="name" class="col-sm-2 control-label">昵称:</label>
<div class="col-sm-10">
<input type="text" name="name" class="form-control" id="name" placeholder="UserName">
</div>
</div>
<div class="form-group">
<label for="password" class="col-sm-2 control-label">密码:</label>
<div class="col-sm-10">
<input type="password" name="password" class="form-control" id="password" placeholder="Password">
</div>
</div>
<div class="form-group">
<label for="password_confirm" class="col-sm-2 control-label">确认密码:</label>
<div class="col-sm-10">
<input type="password" name="password_confirm" class="form-control" id="password_confirm" placeholder="Password Confirm">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<!--<button type="button" class="btn btn-primary" id="submit" name="submit" on
<input type="submit" class="btn btn-primary" id="submit" name="submit" value="注册">
</div>
</div>
</form>
<!-- ajax提交当前表单 -->
<sc
$(function(){
$('#submit').on('click',function(){
// $('#form').submit(function(){
// $("#submit").click(function(){
$.ajax({
type: 'post',
url: "{:url('index/user/insert')}",
data: $('#form').serialize(),
dataType: 'json',
success: function(data){
switch (data.status)
{
case 1:
alert(data.message);
window.location.href = "{:url('index/index')}";
break;
case 0:
case -1:
alert(data.message);
window.location.back();
break;
}
}
});
});
});
</sc
user.php代码如下
<?php
namespace app\index\Controller;
use app\common\controller\ba
use app\common\model\User as UserModel; //导入自定义模型并取别名
use app\common\validate\User as UserValidate;
use think\Request; //导入请求静态代理
use think\Db;
class User extends ba
{
//注册页面
public function register()
{
$this->assign('ti
return $this->fetch('user/register');//渲染注册模板
}
/**
* 表单数据处理
*/
public function insert()
{
//前端提交的必须是Ajax请求再进行验证与新增操作
if(Request::isAjax()){
//1.数据验证
$data = Request::post(); //要验证的数据
$rule = 'app\common\validate\User'; //自定义的验证器
//开始验证: $res 中保存错误信息,成功返回true
$res=$this->validate($data,$rule);
if (true !== $res){ //验证失败
return ['status'=> -1, 'message'=>$res];
}else { //验证成功
//2. 将数据写入到数据表user中,并对写入结果进行判断
if ($user=UserModel::create($data)){
return ['status'=>1, 'message'=>'恭喜,注册成功~~'];
} else {
return ['status'=>0, 'message'=>'注册失败~~'];
}
}
}else{
$this->error('请求类型错误','register');
}
}
最佳答案
