Laravel 验证
laravel 验证
验证是设计应用程序时最重要的方面。它验证传入的数据。默认情况下,基本控制器类使用 validatesrequests 特性,该特性提供了一种方便的方法来验证具有各种强大验证规则的传入http请求。
laravel的可用验证规则
laravel将始终检查会话数据中的错误,并在它们可用时自动将它们绑定到视图。所以,需要注意的一点是 $ errors 变量将始终在每个请求的所有视图中可用,这使您可以方便地假设 $ errors 变量始终被定义并且可以安全地使用。下表显示了laravel中所有可用的验证规则。
laravel的可用验证规则 | ||
---|---|---|
公认 | 活动网址 | 之后(日期) |
Α | 阿尔法破折号 | alpha数字 |
排列 | 之前(日期) | 之间 |
布尔 | 确认 | 日期 |
日期格式 | 不同 | 数字 |
数字之间 | 电子邮件 | 存在(数据库) |
图像文件) | 在 | 整数 |
ip地址 | json | 马克斯 |
mime类型(文件) | 敏 | 不在 |
数字 | 正则表达式 | 需要 |
必需如果 | 必需除非 | 必需 |
全部需要 | 没有要求 | 没有全部需要 |
相同 | 尺寸 | 串 |
时区 | 独特(数据库) | 网址 |
在 $错误 变量将是实例 照亮的\ support \ messagebag 。通过添加如下所示的代码,可以在查看文件中显示错误消息。
@if (count($errors) > 0)@endif@foreach ($errors->all() as $error)
- {{ $error }}
@endforeach
例
第1步 - 通过执行以下命令创建一个名为 validationcontroller 的控制器。
php artisan make:controller validationcontroller --plain
第2步 - 成功执行后,您将收到以下输出 -
第3步 - 复制下面的代码
app / http / controllers / validationcontroller.php 文件。
应用程序/ http /控制器/ validationcontroller.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 的视图文件,并将以下代码复制到该文件中。
资源/视图/ login.blade.php
login form @if (count($errors) > 0)@endif echo form::open(array('url'=-->'/validation')); ?>@foreach ($errors->all() as $error)
- {{ $error }}
@endforeach
login | |
username | echo form::text('username'); |
password | echo form::password('password'); |
echo form::submit('login'); ? --> |
第5步 - 在 app / http / routes.php中 添加以下行。
应用程序/ http / routes.php文件
route::get('/validation','validationcontroller@showform'); route::post('/validation','validationcontroller@validateform');
第6步 - 访问以下url以测试验证。
http://localhost:8000/validation
第7步 - 单击 登录 按钮,而无需在文本字段中输入任何内容。输出将如下图所示。