Laravel 5.2 新特性系列 -- 表单数组输入验证功能实现
程序员文章站
2024-01-28 22:51:04
...
Laravel 5.2 新增表单 数组 输入验证,听起来很懵?下面我们以一个具体例子来演示这一功能。
首先在 routes.php 定义相应路由:
Route::get('form','TestController@form');Route::post('form/validate','TestController@validate');
然后使用Artisan命令创建对应控制器:
php artisan make:controller TestController
编辑生成的 TestController.php 文件内容如下:
接下来创建表单视图文件 resources/views/test/form.blade.php ,编辑 form.blade.php 文件内容如下:
@extends('layouts.app')@section('content')@endsection@if (count($errors) > 0)@endif@foreach ($errors->all() as $error)
- {{ $error }}
@endforeach我们在表单中定义了数组输入字段 employee[][name] 和 employee[][title] ,以便同时输入多个员工姓名和职位。
此外,注意到我们在控制器 TestController 的 validate 方法中注入了 FormRequest 请求类,我们将在这个类中实现表单输入验证逻辑,下面我们使用Artisan命令生成这个请求类:
php artisan make:request FormRequest这样会在 app/Http/Requests 目录下生成 FormRequest.php ,编辑该文件内容如下:
'required|max:100', 'employee.*.name'=>'required|max:100', 'employee.*.title'=>'required|max:100' ]; }}至此,我们已经完成代码编写工作,下面我们来测试数组输入验证,在浏览器中访问 http://laravel.app/form ,页面显示如下:
我们接下来输入一些表单数据:
最后,点击“提交”按钮,显示验证错误提示信息: