1. 程式人生 > >Laravel摘記之表單驗證

Laravel摘記之表單驗證

表單驗證

表單驗證是為了防止訪問者跳過客戶端驗證而造成的系統安全問題,一但非法使用者繞過客戶端驗證而伺服器端沒有加以驗證,這樣就是很不安全了,所以專案必須要進行伺服器端表單驗證。

Laravel 提供了多種不同的驗證方法來對應用程式傳入的資料進行驗證。

常用基本規則

規則名 說明
required 不能為空
max:value 欄位值必須小於或等於value,對於字串來說,value 為字元數
min:value 欄位值必須大於或等於value,對於字串來說,value 為字元數
email 驗證郵箱是否合法
url 驗證欄位必需是有效的 URL 格式
confirmed 驗證兩個欄位是否相同,如果驗證的欄位是password,則必須輸入一個與之匹配的password_confirmation欄位
integer 驗證欄位必須是整型
ip 驗證欄位必須是IP地址
numeric 驗證欄位必須是數值
size:value value 驗證欄位必須有和給定值value想匹配的尺寸,對字串而言,value是相應的字元數目,對數值而言,value是給定整型值;對檔案而言,value是相應的檔案位元組數
string 驗證欄位必須是字串
unique 表名,欄位,需要排除的ID
between:min,max 驗證欄位值的大小是否介於指定的 min 和 max 之間。字串、數值或是檔案大小的計算方式和 size 規則相同
regex:pattern 驗證欄位值是否符合指定的正則表示式

注:多個驗證規則可以通過 “|” 字元進行隔開

程式碼實現:

     //表單驗證
    public function addv(Request $request){
        //是否是Post提交
        if($request->isMethod('post')){
            $this
->validate($request,[ //表單名稱,規則,多個規則用中豎線|隔開 'username'=>'required|max:10|min:2', 'email'=>'required|email', 'pwd'=>'required|confirmed', 'pwd_confirmation'=>'required' ],[ 'username.required'=>'使用者名稱不能為空', 'username.max'=>'使用者名稱不能超過3個字元', 'username.min'=>'使用者名稱不能少於2個字元', 'email.required'=>'郵箱不能為空', 'email.email'=>'郵箱不合法', 'pwd.required'=>'密碼不能為空', 'pwd.confirmed'=>'兩次密碼不一致', 'pwd_confirmation.required'=>'確認密碼不能為空', ]); dd($request->all()); } else{ return view('db.addv'); } }

效果圖:

這裡寫圖片描述