- Laravel 教程
- Laravel - 主页
- Laravel - 概述
- Laravel - 安装
- Laravel - 应用程序结构
- Laravel - 配置
- Laravel - 路由
- Laravel - 中间件
- Laravel - 命名空间
- Laravel - 控制器
- Laravel - 请求
- Laravel-Cookie
- Laravel - 响应
- Laravel - 视图
- Laravel - 刀片模板
- Laravel - 重定向
- Laravel - 使用数据库
- Laravel - 错误和日志记录
- Laravel - 表单
- Laravel - 本地化
- Laravel - 会话
- Laravel - 验证
- Laravel - 文件上传
- Laravel - 发送电子邮件
- Laravel - AJAX
- Laravel - 错误处理
- Laravel - 事件处理
- Laravel - 外观
- Laravel - 合约
- Laravel - CSRF 保护
- Laravel - 身份验证
- Laravel - 授权
- Laravel - Artisan 控制台
- Laravel - 加密
- Laravel - 哈希
- 了解发布流程
- Laravel - 访客用户门
- Laravel - Artisan 命令
- Laravel - 分页自定义
- Laravel - 转储服务器
- Laravel - 操作 URL
- Laravel 有用资源
- Laravel - 快速指南
- Laravel - 有用的资源
- Laravel - 讨论
Laravel - 验证
验证是设计应用程序时最重要的方面。它验证传入的数据。默认情况下,基本控制器类使用ValidatesRequests特征,它提供了一种方便的方法来使用各种强大的验证规则来验证传入的 HTTP 请求。
Laravel 中可用的验证规则
Laravel 将始终检查会话数据中的错误,并自动将它们绑定到视图(如果可用)。因此,请务必注意,$errors变量在每个请求的所有视图中始终可用,从而使您可以方便地假设$errors变量始终已定义并且可以安全使用。下表显示了 Laravel 中所有可用的验证规则。
| Laravel 中可用的验证规则 | ||
|---|---|---|
| 公认 | 活动网址 | 之后(日期) |
| Α | 阿尔法冲刺 | 字母数字 |
| 大批 | 之前(日期) | 之间 |
| 布尔值 | 确认的 | 日期 |
| 日期格式 | 不同的 | 数字 |
| 数字之间 | 电子邮件 | 存在(数据库) |
| 图像文件) | 在 | 整数 |
| IP地址 | JSON | 最大限度 |
| MIME 类型(文件) | 最小 | 不在 |
| 数字 | 正则表达式 | 必需的 |
| 必需如果 | 必填,除非 | 需要有 |
| 全部都需要 | 需要 无 | 需要没有全部 |
| 相同的 | 尺寸 | 细绳 |
| 时区 | 唯一(数据库) | 网址 |
$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 --plain
步骤 2 - 成功执行后,您将收到以下输出 -
步骤 3 - 将以下代码复制到
app/Http/Controllers/ValidationController.php文件。
应用程序/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的视图文件,并将以下代码复制到该文件中。
资源/视图/login.blade.php
<html>
<head>
<title>Login Form</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'>Login</td>
</tr>
<tr>
<td>Username</td>
<td><?php echo Form::text('username'); ?></td>
</tr>
<tr>
<td>Password</td>
<td><?php echo Form::password('password'); ?></td>
</tr>
<tr>
<td align = 'center' colspan = '2'
><?php echo Form::submit('Login'); ? ></td>
</tr>
</table>
<?php
echo Form::close();
?>
</body>
</html>
步骤 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 - 单击“登录”按钮,无需在文本字段中输入任何内容。输出将如下图所示。
