日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

laravel 自动验证,提示验证成功,失败信息,引入语言包

發布時間:2023/12/14 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 laravel 自动验证,提示验证成功,失败信息,引入语言包 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JavaScript也可以進行一些驗證操作,但是有些情況下不好用(禁用JavaScript)。這時候就要使用后端的一些機制。能夠在后端對用戶提交的數據進行驗證,這個就是后端的自動驗證。


案例:編寫自動驗證實例


使用biaodan表單頁面,提交到testbiaodan路由

先創建兩個路由:

Route::get('biaodan','TestController@biaodan'); Route::post('testbiaodan','TestController@testbiaodan')->name('tb');

編寫控制器方法:

// 使用biaodan表單頁面,提交到testbiaodan來進行自動驗證 public function biaodan(){return view('biaodan'); } //用來自動驗證 public function testbiaodan(Request $request){ /* 1,自動驗證 2,獲取數據 3,根據寫入的結果進行不同的響應*/ $this->validate($request,[ //對于不同的的規則,用|分隔開'id' => 'required|min:2|max:6','name' => 'required|min:2|max:255|string',// integer在設定的0-100范圍內,寫不寫效果一樣,不寫integer的話,當要驗證的信息的超過設定的0-100,將驗證失敗'age' => 'required|integer|min:0|max:100','email' => 'required|email']);// 驗證成功后提示信息echo '驗證成功'; }

創建biaodan視圖文件,提交地址為testbiaodan

<form action="{{route('tb')}}" method="post"><input type="text" name="id" placeholder="學號"/><br /><input type="text" name="name" placeholder="姓名"/><br /><input type="text" name="age" placeholder="年齡"/><br /><input type="text" name="email" placeholder="郵箱"/><br /><!-- 下面兩種方式都可使用 --><!-- <input type="hidden" name="_token" value="{{csrf_token()}}"/> -->{{csrf_field()}}<input type="submit"/></form>

驗證規則大全


array
該字段必須是PHP數組

before:date
驗證字段必須是指定日期之前的一個數值,該日期將會傳遞給PHP strtotime函數。

between:min,max
驗證字段尺寸在給定的最小值和最大值之間,字符串、數值和文件都可以使用該規則

boolean
驗證字段必須可以被轉化為boolean,接收true, false, 1,0, “1”, 和 "0"等輸入。

confirmed
驗證字段必須有一個匹配字段foo_confirmation,例如,如果驗證字段是password,必須輸入一個與之匹配的password_confirmation字段

date
驗證字段必須是一個基于PHP strtotime函數的有效日期

date_format:format
驗證字段必須匹配指定格式,該格式將使用PHP函數date_parse_from_format進行驗證。你應該在驗證字段時使用date或date_format

different:field
驗證字段必須是一個和指定字段不同的值

digits:value
驗證字段必須是數字且長度為value指定的值

digits_between:min,max
驗證字段數值長度必須介于最小值和最大值之間

distinct
處理數組時,驗證字段不能包含重復值:

email
驗證字段必須是格式化的電子郵件地址

exists:table,column
驗證字段必須存在于指定數據表

基本使用

file
該驗證字段必須是上傳成功的文件

filled
該驗證字段如果存在則不能為空

image
驗證文件必須是圖片(jpeg、png、bmp、gif或者svg)

in:foo,bar…
驗證字段值必須在給定的列表中

in_array:另一個字段
驗證字段必須在另一個字段中存在

integer
驗證字段必須是整型

ip
驗證字段必須是IP地址

JSON
驗證字段必須是有效的JSON字符串

max:value
驗證字段必須小于等于最大值,和字符串、數值、文件字段的size規則一起使用

min:value
驗證字段的最小值,對字符串、數值、文件字段而言,和size規則使用方式一致。

nullable
驗證字段必須為null,這在驗證一些可以為null的原生數據如整型或字符串時很有用。

numeric
驗證字段必須是數值 (包括正數,負數)

present
驗證字段必須出現在輸入數據中但可以為空。

regex:pattern
驗證字段必須匹配給定正則表達式

required
輸入字段值不能為空,以下情況字段值都為空:

required_unless:anotherfield,value,…
除了 anotherfield 字段等于value,驗證字段不能空

required_with:foo,bar,…
驗證字段只有在任一其它指定字段存在的話才是必須的

required_with_all:foo,bar,…
驗證字段只有在所有指定字段存在的情況下才是必須的

required_without:foo,bar,…
驗證字段只有當任一指定字段不存在的情況下才是必須的

required_without_all:foo,bar,…
驗證字段只有當所有指定字段不存在的情況下才是必須的

same:field
給定字段和驗證字段必須匹配

size:value
驗證字段必須有和給定值value相匹配的尺寸,對字符串而言,value是相應的字符數目;對數值而言,value是給定整型值;對文件而言,value是相應的文件字節數

string
驗證字段必須是字符串


驗證成功提示信息


在TestController.php定義的用來驗證的方法里,添加echo " 內容"輸出信息。。
如果表單頁面驗證成功就會顯示輸出成功信息。

//用來自動驗證 public function testbiaodan(Request $request){$this->validate($request,['name' => 'required|min:2|max:255','age' => 'required|integer|min:0|max:100','email' => 'required|email']);// 驗證成功后提示信息echo '驗證成功'; }

顯示驗證錯誤信息提示(英文提示,中文提示)


一,英文提示(默認)

在表單視圖文件里,加入下面這些判斷錯誤信息,$errors變量用來提取錯誤信息。

@if (count($errors) > 0)@foreach ($errors->all() as $error)<li>{{ $error }}</li>@endforeach@endif <!DOCTYPE html> <html lang="{{ str_replace('_', '-', app()->getLocale()) }}"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title></title><!-- Fonts --><link href="https://fonts.googleapis.com/css?family=Nunito:200,600" rel="stylesheet"><!-- Styles --><style></style></head><body><form action="{{route('tb')}}" method="post"><input type="text" name="id" placeholder="學號"/><br /><input type="text" name="name" placeholder="姓名"/><br /><input type="text" name="age" placeholder="年齡"/><br /><input type="text" name="email" placeholder="郵箱"/><br /><!-- 下面兩種方式都可使用 --><!-- <input type="hidden" name="_token" value="{{csrf_token()}}"/> -->{{csrf_field()}}<input type="submit"/><!-- ********************************************************************************* --><!-- 判斷驗證錯誤信息,輸出的錯誤信息是英文,需要翻譯成中文 --><!-- 如果錯誤信息的數量大于0 --><!-- 遍歷錯誤,輸出錯誤信息 -->@if (count($errors) > 0)@foreach ($errors->all() as $error)<li>{{ $error }}</li>@endforeach@endif</form></body></html>

現在如果驗證失敗,就會有提示以下信息

二,中文提示,(自定義錯誤提示,語言包)

1,自定義驗證錯誤提示:
在驗證信息的TestController里定義的方法里,validate的第三個參數用來定自定義錯誤信息提示,
第三參數,自定義錯誤信息
驗證錯誤后的提示信息
鍵對應驗證信息的表單的name屬性值+判斷信息,值是錯誤提示信息
’name.required’=>‘用戶名不能為空’,

//用來自動驗證 public function testbiaodan(Request $request){$this->validate($request,['id' => 'required|min:2|max:6','name' => 'required|min:2|max:255',// integer在設定的0-100范圍內,寫不寫效果一樣,不寫integer的話,當要驗證的信息的超過設定的0-100,將驗證失敗'age' => 'required|integer|min:0|max:100','email' => 'required|email'],[// 第三參數,自定義錯誤信息// 驗證錯誤后的提示信息// 鍵對應驗證信息的name,加判斷信息,值是錯誤提示信息'name.required'=>'用戶名不能為空','name.min'=>'用戶名最少為2個字符','name.max'=>'用戶名最少為2個字符',]);// 驗證成功后提示信息echo '驗證成功'; }

現在我們給name的required設置了用戶名不能為空。如果用戶名表單那里沒有輸入內容直接提交后,會提示
驗證失敗后會提示如下信息:

看提示信息會發現,自定義的會是中文,不自定義的還是英文。要想全部提示中文,還得一個個給他設置錯誤提示,比較麻煩,繁瑣,寫起來也不方便。那樣就可以通過下載的中文語言包來顯示中文提示信息。

2,下載中文語言包來,顯示中文提示信息。
在自己的larave項目的目錄下面,按住shift鍵+鼠標右擊,打開命令行窗口。
輸入php artisan 來查看自己的laravel的版本,比如我的就是,7.1.3

下一步就是下載語言包,打開網址查看一下,下載語言包的命令,下載語言包的網址
比如我的就是7.1.3版本的就用composer require caouecs/laravel-lang:~6.0命令來下載

在文件下打開命令行輸入composer require caouecs/laravel-lang:~6.0開始下載,

提示下載完成之后,打開laravel文件的,目錄,。D:\laraveldemo\one\vendor\caouecs\laravel-lang\src\zh-CN
下載后的目錄在自己laravel項目下的vendor\caouecs\laravel-lang\src\zh-CN下
復制zh-CN文件到resources/lang下:


**修改配置:**在config/app.php文件進行修改。

現在就可以測試下語言包能不能使用。 刪除剛才自定義錯誤信息的語句(validate的第三個參數)
測試:
在表單里什么都不輸入信息,進行驗證,提示語言都變成了中文。

也可以給語言包里自定義提示信息:
D:\laraveldemo\one\resources\lang\zh-CN\validation.php里添加提示信息
id是要判斷的表單的name屬性值,也是TestController.php里面的id表單判斷的鍵名(總之,這幾個字段得保持一致)

現在就是提示編號不能為空了

總結

以上是生活随笔為你收集整理的laravel 自动验证,提示验证成功,失败信息,引入语言包的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。