资讯专栏INFORMATION COLUMN

Laravel 5.4 入门系列 12. 使用请求类进行字段验证

BearyChat / 1647人阅读

摘要:本节内容比较简单,之前我们使用方法来进行字段验证,这样做有一个不好的地方就是,如果你要在很多地方使用同样的验证,就需要重复编写代码。因此,提供另外一种方式来进行字段验证,即请求类。

本节内容比较简单,之前我们使用 validator 方法来进行字段验证,这样做有一个不好的地方就是,如果你要在很多地方使用同样的验证,就需要重复编写代码。因此,Laravel 提供另外一种方式来进行字段验证,即「请求类」。

首先,创建请求类:

$ php artisan make:request RegistrationForm

将注册相关信息转移到该类中:

/app/Http/Requests/RegistrationForm.php

use AppMailWelcome;
use AppUser;

class RegistrationForm extends FormRequest
{

    public function authorize()
    {
        return true;
    }

 
    public function rules()
    {
        return [
            "name" => "required",
            "email" => "required|email|unique:users",
            "password" => "required|confirmed",
        ];
    }

    public function persist()
    {

        $user = User::create(
            $this->only(["name","password","email"])
        );

        auth()->login($user);

        Mail::to($user)->send(new Welcome($user));
    }
}

注解:

任何人都有权利做出该请求(即注册),所以 authorize() 应该返回 true

rule() 里面定义验证规则

我们将注册表的创建用户以及发送邮件功能也封装到了请求类中

控制器的代码可以简化成:

use AppHttpRequestsRegistrationForm;

public function store(RegistrationForm $request)
{
    $request->persist();

    return redirect()->home();
}

如果我们在其他地方也要使用该请求,直接传入 RegistrationForm 就可以了,是不是方便多了 :)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22817.html

相关文章

  • Laravel 5.4 入门系列 9. 注册与登录,用户关联

    摘要:本节将实现文章评论与用户关联的功能。关系定义首先修改与表,增加字段增加全部回滚并重新执行迁移添加用户表与文章表评论表的一对多关系添加文章评论表与用户表的多对一关系同时,评论表的字段增加。同时,我们还自定义了返回的错误信息。 本节将实现文章、评论与用户关联的功能。 关系定义 首先修改 posts 与 comments 表,增加 user_id 字段 /database/migratio...

    smallStone 评论0 收藏0
  • Laravel 5.4 入门系列 6. 文章的创建

    摘要:基本功能创建文章的第一步是用户发请求,然后返回创建文章的页面。实际上,会报错添加保护虽然我们完成了基本功能,但是提交请求的时候还是会报错,其实这是防止攻击。假如违反了规则,错误信息会自动被保存在闪存的中,即只对下一次请求生效。 基本功能 创建文章的第一步是用户发请求,然后返回创建文章的页面。 路由:处理用户「创建文章」的请求 /routes/web.php Route::get(/po...

    levius 评论0 收藏0
  • Laravel 5.4 入门系列 11. 通过邮件激活注册用户

    摘要:我们稍微封装下代码吧请您激活账户方法用于保存或更新字段方法用于判断是否在小时之内使用管理邮件在刚才的例子中,我们使用的是提供的方法来快速创建和发送邮件。 使用 Mailtrap 测试邮件功能 Mailtrap 提供了简单的测试邮件的服务,步骤如下: 登录网站 Mailtrap 注册用户 注册成功之后,会自动创建一个 demo,点进去之后就可以看到配置信息 showImg(https...

    dendoink 评论0 收藏0
  • Laravel 5.4 入门系列 4. 任务列表显示(2)

    摘要:同时,传入参数,即已存在的查询。因此,更为常见的做法是在控制器中处理路由请求。 这一节,我们进一步完善上一节创建的任务列表。主要知识点: Eloquent Model 控制器 路由模型绑定 Eloquent Model 新增迁移 首先,我们为数据库表 tasks 新增一个字段 completed,用来表示任务是否完成: $ php artisan make:migration ad...

    banana_pi 评论0 收藏0
  • Laravel思维导图之HTTP请求、响应、表单验证

    摘要:今天我来分享中层关于请求响应与表单验证的知识。手动创建验证请求之前的内容是直接使用的方法来实现表单验证。下一步到这篇为止,我完成了入门指南核心概念层的路由中间件控制器请求响应表单验证的学习和整理。 showImg(https://segmentfault.com/img/remote/1460000010882838); 今天我来分享 Laravel 中 HTTP 层关于请求、响应与表...

    lewif 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<