首先tp5的驗證器使用特方便php
設置規則便可通用html
首先頁面html(layer 配合) 畢竟是後端 儘可能用一些成熟的前臺框架 以前用boostrapajax
$.ajax({ url:'/index/Register/userDo&t='+Math.random(), type:'post', dataType:'json', data:{regMobile:$("#regMobile").val(),regPassword:$("#regPassword").val(),imgVerifycode:$("#imgVerifycode").val(),regmCode:$("#regmCode").val()}, success:function(res){ if(res.status==1){ layer.alert(res.msg, {icon: 1,btn: ['肯定'],yes: function(index, layero){ top.location.href = res.Turl; }}); }else{ layer.alert(res.msg, {icon: 2,btn: ['肯定'],yes: function(index, layero){ top.location.href = res.Turl; }}); } }, error : function(XMLHttpRequest, textStatus, errorThrown) { layer.alert('網絡失敗,請刷新頁面後重試', {icon: 2}); } })
控制器 繼承默認控制器 Control 便可使用thinkphp
//驗證數據 $rule = [ 'regMobile' => $Mobile, 'code' => $Code, 'regPassword' => $Password, ]; //加載驗證器 $resultValidate = $this->validate($rule,'Register'); if(true !== $resultValidate){ return ['status'=>0,'msg'=>"$resultValidate"]; }
驗證器 能夠自定義json
<?php namespace app\index\validate; use think\Validate; class Register extends Validate { protected $rule = [ 'regMobile' => 'require|number|max:11', 'code' =>'number|length:6', 'regPassword' => 'number', ]; protected $message = [ 'regMobile.require' => '請填寫手機號1', 'regMobile.max' => '請輸入有效的手機號碼', 'regMobile.number' =>'請輸入有效的手機號碼', 'code.number' =>'短信驗證碼必須是數字', 'code.length' =>'短信驗證碼是六位數字', 'regPassword.number' => '年齡必須是數字', 'age.between' => '年齡只能在1-120之間', 'email' => '郵箱格式錯誤', ]; }
更多功能 看手冊去實現後端
參考網絡
require 格式驗證類 number 或者 integer 驗證某個字段的值是否爲數字(採用filter_var驗證) float 驗證某個字段的值是否爲浮點數字(採用filter_var驗證) ---------
https://www.kancloud.cn/manual/thinkphp5/129356app