Day10-为了让表单资料不要太过自大,给予其正确的绝望-Validation(III)

标题参考来源

大家好~
今天来认识如何自定义错误讯息且不用另外建立 FormRequest class 的方式吧~

Validator::make

Validator::make() 可以接受四个参数,
依序是:

  1. 要验证的资料
  2. 验证规则
  3. 自定义错误讯息
  4. 自定义属性

定义验证规则

$rules=[
    'title' => 'required|string|max:50',
    'content' => 'required|string|between:2,255'
];

自定义错误讯息

$messages = [
    'required' => ':attribute 未填。',
    'string' => ':attribute 格式不支援。',
    'between' => ':attribute 文字长度请在:min至:max间。',
    'title.max' => ':attribute 文字长度请在:max以内。',
];

如何使用?

Validator::make($request->all(), $rules, $messages)->validate();

将我们定义好的参数依序放入即可~

Day05 我们完成的新增留言功能为例,
完整程序看起来会像这样:

public function store(Request $request)
{
    $rules=[
        'title' => 'required|string|max:50',
        'content' => 'required|string|between:2,255'
    ];

    $messages = [
        'required' => ':attribute 未填。',
        'string' => ':attribute 格式不支援。',
        'between' => ':attribute 文字长度请在:min至:max间。',
        'title.max' => ':attribute 文字长度请在:max以内。',
    ];

    $validated = Validator::make($request->all(), $rules, $messages)->validate();

    $message = Auth::user()->messages()->create($validated);

    return response(MessageResource::make($message), Response::HTTP_CREATED);
}

然後来测试看看吧~
下图就是刚刚我们自定义的错误讯息喔!

小结

  1. Laravel Validation 提供许多验证规则,供我们可以简单快速的实作表单验证。
  2. 如果有重复利用的表单验证,可以另外建立 FormRequest class。这样程序看起来更简洁,修改更方便。
  3. 如果想要更弹性的设计表单验证,但该表单验证不会重复利用,可以考虑使用 Validator::make()

那麽关於 Validation 的部分差不多就这样啦~
今天差不多先这样啦!
大家明天见啦~
若文章有任何问题,
还请大家不吝赐教!

参考资料:


<<:  Day13 vue.js实现简单的注册功能ep1

>>:  Day 12 :阵列(array)与链结串列(linked list)

[Day 30] 我的旅途未来展望

没想到自己撑过了 30 天... 写到一半的时候,旅游不能病大发作 跑去大买一笔才缓解了自己的病症...

大共享时代系列_024_可协同 UI 设计的软件

客户:我的需求不多,就一点点... 设计师:(已预知接下来无穷尽的...浩瀚宇宙) 多人可同时协同设...

CSS基础介绍(1)

来轻松聊聊 学会如何利用HTML编辑网页架构後,再来要进入让网页美化的CSS了。还不知道什麽是HTM...

ASP.NET MVC 从入门到放弃(Day28)- MVC web api 加入swagger介绍

1.首先先去工具->NuGet套件管理员->管理方案NuGet套件->安装Swas...

Principal Component Analysis (PCA)

昨天在研究MDS的时候顺便把PCA也复习了一下,所以今天来把它相关的原理补上(非常推荐观看refer...