Laravel 验证器

官方地址:表单验证 |《Laravel 8 中文文档 8.5》| Laravel China 社区

代码

<?php
/**
 * @Description
 * @Date 2021-12-19 21:44
 */

namespace Modules\Admin\Http\Controllers\v1;


//集成核心Controller
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\Validator;

class IndexController extends Controller
{

    public function test(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'title' => 'required',
            'body' => 'required',
        ]);

        if ($validator->fails()) {
            return 1111;
        }

        return "hello world";

        // 博客文章验证通过...
    }


}

效果

 打印错误信息

 也可以只打出来message

  dd($validator->errors()->messages());

我是第一次学习laravel。从那些复杂的控制,但是又从这些简介的dd语法中,可以猜到。

他以后将会是我的一把利刃。

array:2 [
  "title" => array:1 [
    0 => "The title field is required."
  ]
  "body" => array:1 [
    0 => "The body field is required."
  ]
]

验证成功是进入helloWord

 错误信息也非常的明显有一个缺点

The title field is required.

我们如何自定义错误消息返回呢

    public function test(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'title' => 'required',
            'body' => 'required',
        ], ['title.required' => "请输入标题"]);

        if ($validator->fails()) {
            return $validator->errors()->messages()['title'][0];
        }

        return "hello world";

        // 博客文章验证通过...
    }

 对长度进行限制

<?php
/**
 * @Description
 * @Date 2021-12-19 21:44
 */

namespace Modules\Admin\Http\Controllers\v1;


//集成核心Controller
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\Validator;

class IndexController extends Controller
{

    public function test(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'title' => 'required|max:2',
            'body' => 'required',
        ], ['title.required' => "请输入标题", 'title.max' => "标题最大长度不能超过2个字符"]);

        if ($validator->fails()) {
            return $validator->errors()->messages()['title'][0];
        }

        return "hello world";

        // 博客文章验证通过...
    }


}

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安果移不动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值