在設計的應用程式驗證是最重要的一個方面。它會驗證輸入的數據。默認情況下,基本控制器類使用一個 ValidatesRequests 其提供一個多種強大的驗證規則和方法來驗證傳入的HTTP請求。
Laravel可用的驗證規則
|
Laravel可用的驗證規則
|
||
|---|---|---|
| Accepted | Active URL | After (Date) |
| Alpha | Alpha Dash | Alpha Numeric |
| Array | Before (Date) | Between |
| Boolean | Confirmed | Date |
| Date Format | Different | Digits |
| Digits Between | Exists (Database) | |
| Image (File) | In | Integer |
| IP Address | JSON | Max |
| MIME Types(File) | Min | Not In |
| Numeric | Regular Expression | Required |
| Required If | Required Unless | Required With |
| Required With All | Required Without | Required Without All |
| Same | Size | String |
| Timezone | Unique (Database) | URL |
Laravel總是會檢查是否存在錯誤在會話數據中,如果它們都可用就會自動將其綁定到視圖。 因此,要注意,$error 變數總是會在每次請求視圖時都是可以訪問的,$errors 變數就類似在應用中是始終定義的,可以放心使用。$errors 變數是 Illuminate\Support\MessageBag的一個實例。可以通過將代碼將錯誤消息顯示在視圖檔中,如下所示。
@if (count($errors) > 0)
<div class = "alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
示例
第1步 - 通過執行以下命令創建一個名為 ValidationController 的控制器。
php artisan make:controller ValidationController
第2步 - 成功執行後,您會收到以下輸出 -


第3步 - 複製下麵的代碼到檔- app/Http/Controllers/ValidationController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class ValidationController extends Controller {
public function showform(){
return view('login');
}
public function validateform(Request $request){
print_r($request->all());
$this->validate($request,[
'username'=>'required|max:8',
'password'=>'required'
]);
}
}
第4步 - 創建一個名為 resources/views/login.blade.php 的視圖檔,並複製下麵的代碼放入到此檔中。
resources/views/login.blade.php
<html>
<head>
<title>登錄示例表單</title>
</head>
<body>
@if (count($errors) > 0)
<div class = "alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<?php
echo Form::open(array('url'=>'/validation'));
?>
<table border = '1'>
<tr>
<td align = 'center' colspan = '2'>登錄示例</td>
</tr>
<tr>
<td>用戶名:</td>
<td><?php echo Form::text('username'); ?></td>
</tr>
<tr>
<td>密碼:</td>
<td><?php echo Form::password('password'); ?></td>
</tr>
<tr>
<td align = 'center' colspan = '2'>
<?php echo Form::submit('登陸'); ? ></td>
</tr>
</table>
<?php
echo Form::close();
?>
</body>
</html>
第5步 - 添加以下行到 app/Http/routes.php.
app/Http/routes.php
Route::get('/validation','ValidationController@showform');
Route::post('/validation','ValidationController@validateform');
第6步 - 請訪問以下網址進行測試驗證。
http://localhost:8000/validation

第7步 - 無需在文本字段中輸入任何內容直接點擊“登錄”按鈕。 輸出將如下面的圖所示。
上一篇:
Laravel會話(session)
下一篇:
Laravel檔上傳
