一个重要的原则,不要用户提交的信任内容,这意味着需要对用户提交的内容做验证,以避免出现不必要的错误。
最直接的做法就是在控制器中直接验证, Illuminate\Http\Request 提供了 validate 方法:
1 | <!-- app/Http/Controllers/UserController.php --> |
验证失败时,应用会返回到表单界面,如果不做处理,将会是空白的表单,用户需要重新填写,显然不够友好,较好的做法是,把旧的数据显示出来并提示哪里验证不通过:
1 | <!-- resources/views/users/create.blade.php --> |
注意 old() 和 errors 的使用 。
还可以定义单独的验证文件:
1 | php artisan make:request UserCreateRequest |
1 | <!-- app/Http/Requests/UserCreateRequest.php--> |
1 | <!-- app/Http/Controllers/UserController.php --> |