ThinkPHP5.0之執行添加的數據驗證

ThinkPHP5.0之執行添加的數據驗證

  1. 控制器
	 /**
     * 執行添加
     */
    public function postInsert(Request $request)
    {
    	// 獲取數據
	    $data = $request->except(['action', 'repassword', '__token__']);
	    $data['password'] = md5($data['password']);
	    $data['status'] = 1;
	    $data['token'] = $request->param('__token__');
//	    dump($data);
	    // 數據驗證
	    // 將獲取的所有參數進行驗證
	    $result = $this->validate($request->param(), 'AdminUsers');
	    // 不符合規則
	    if (true !== $result) {
	    	// 顯示錯誤信息,阻止頁面提交
	    	$this->error($result);
	    }
	    // 執行添加
	    $res = Db::table("users")->insert($data);
	    // 判斷
	    if ($res) {
	    	$this->success('添加成功', '/adminusers/index');
	    } else {
	    	$this->error('添加失敗');
	    }
    }
  1. 驗證器類
	// 模塊下創建validate目錄,目錄下創建一個控制器的名稱的類
	<?php
	namespace app\admin\validate;
	
	use think\Validate;
	
	class AdminUsers extends Validate
	{
		// 驗證規則
		protected $rule = [
			'username'   => 'require|unique:users|regex:[A-Za-z0-9]{4,8}|token',
			'password'   => 'require|regex:[A-Za-z0-9]{5,18}',
			'repassword' => 'require|regex:[A-Za-z0-9]{5,18}|confirm:password',
			'email'      => 'require|email',
		];
		
		// 提示信息
		protected $message = [
			'username.require'   => '用戶名不能爲空',
			'username.unique'    => '用戶名已被註冊',
			'username.regex'     => '用戶名格式不正確,4-8位數字字母',
			'password.require'   => '密碼不能爲空',
			'password.regex'     => '密碼格式不正確,5-16位數字字母',
			'repassword.require' => '確認密碼不能爲空',
			'repassword.regex'   => '確認密碼格式不正確,5-16位數字字母',
			'repassword.confirm' => '兩次密碼不一致',
			'email.require'      => '郵箱不能爲空',
			'email.email'        => '郵箱格式不正確',
		];
	}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章