首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如果字段为空,如何提示消息,Laravel

在Laravel中,可以使用表单验证器来检查字段是否为空,并且可以自定义错误消息来提示用户。以下是一个示例:

  1. 首先,在控制器中定义验证规则和自定义错误消息:
代码语言:txt
复制
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;

public function store(Request $request)
{
    $rules = [
        'field_name' => 'required',
    ];

    $messages = [
        'field_name.required' => '字段不能为空。',
    ];

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

    if ($validator->fails()) {
        // 如果验证失败,将错误消息返回给用户
        return redirect()->back()->withErrors($validator)->withInput();
    }

    // 如果验证通过,执行其他操作
    // ...
}
  1. 在视图中显示错误消息:
代码语言:txt
复制
@if ($errors->any())
    <div class="alert alert-danger">
        <ul>
            @foreach ($errors->all() as $error)
                <li>{{ $error }}</li>
            @endforeach
        </ul>
    </div>
@endif

在上述代码中,$rules数组定义了字段的验证规则,$messages数组定义了自定义的错误消息。如果验证失败,$validator->fails()将返回true,然后可以使用$validator->errors()获取错误消息,并将其返回给用户。

这样,当字段为空时,用户将收到自定义的错误消息"字段不能为空"。你可以根据实际情况修改错误消息内容。

此外,Laravel还提供了其他丰富的验证规则和错误消息处理方式,可以根据具体需求进行调整。更多关于Laravel表单验证的信息,请参考Laravel官方文档-表单验证

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

通过 Laravel 表单请求类实现字段验证和错误提示

在上一篇教程中,我们已经演示了如何在控制器方法中对表单请求字段进行验证,并且提到如果请求字段很多很复杂,都写到控制器方法里面会导致控制器臃肿,从单一职责原则来说需要将表单请求验证拆分出去,然后通过类型提示的方式注入到控制器方法...false 则表示用户无权提交表单,会抛出权限异常中止请求,现在我们将其调整返回 true 即可,然后我们在 rules() 方法中定义请求字段验证规则,比如我们可以将上一篇教程中的字段验证规则移到该方法中...'url' => 'sometimes|url|max:200', 'picture' => 'nullable|string' ]; } 然后你可能要问那自定义错误提示消息在哪里定义呢...我们只需重写父类的 messages() 方法即可: public function messages() { return [ 'title.required' => '标题字段不能为...$request) { return response('表单验证通过'); } Laravel 底层在解析这个控制器方法的参数时,如果发现这个请求是一个表单请求类,则会自动执行其中定义的字段验证规则对请求字段进行验证

3.9K30
  • Laravel 控制器中进行表单请求字段验证

    接下来,我们就一起来看看如何Laravel 中对表单请求进行验证。...;url 字段通过 sometimes 指定为存在时验证,如果填写了的话格式必须是 URL,且长度不能超过 200,每填写的话则不验证;最后图片路径允许。...响应(错误码 422),如果是正常的 POST 表单请求的话,会重定向到表单提交页,并包含所有用户输入和错误信息,以便重新渲染已填写表单并显示错误信息。...如果我们将上面的表单请求改写 Validator::make 来实现的话,代码是这样的: Validator::make($request->all(), [ 'title' => 'bail|...对于大量请求字段,或者复杂的请求验证,都写到控制器方法中显然会导致控制器的代码变得臃肿,可维护性也比较差,所以我们下一篇教程将讨论如何将验证代码移出控制器这一话题,并且根据项目需求灵活实现自定义验证规则

    5.8K10

    基于 PHPStorm 编辑器的 Laravel 开发

    引言 本文主要讲述在PHPStorm编辑器中如何使用PHPStorm的Laravel插件和Laravel IDE Helper来开发Laravel程序,结合个人积累的一点经验来说明使用PHPStorm编辑器来开发程序还是很顺手的...(1)初始化composer PHPStorm提供了composer配置功能,可以在PHPStorm新建一个项目,然后在项目根目录右键选择 Composer|InitComposer......对于 composer.json文件中数组key字段值可以在Composer官网上查找相关解释,包括重要的 require和 require-dev字段解释。...其实,Laravel IDE Helper就是一个第三方安装包,安装后会有些代码提示等一些好处,也可选择不安装,当然安装也比较简单。...总的来说,PHPStorm对Blade模板的代码提示和补全还是支持的比较好的,使用很顺手。

    3.7K80

    通过匿名函数和验证规则类自定义 Laravel 字段验证规则

    Laravel 验证器的强大之处不仅在于提供前面提到的多种请求验证方式,以及非常丰富的字段验证规则(不同规则可以组合形成新的验证规则),从 5.5 版本开始,还支持自定义字段验证规则。...通过匿名函数实现自定义规则 我们先演示下如何在控制器方法中调用 $this->validate() 时自定义验证规则,以 title 字段例,除了系统提供的字段验证规则之外,有时候我们还会禁止用户输入包含敏感词的字段...,在我们国家,这也是司空见惯的事情,那要如何实现这个 Laravel 办不到的事情呢,通过自定义验证规则: $this->validate($request, [ 'title' => [...如果检查到输入标题包含敏感词,则认为验证不通过,返回错误信息(我这里的主要目的是演示如何自定义验证规则,实际环境中不要这样校验敏感词哈,效率太低)。...,则认为验证失败,然后在 message 方法中修改验证失败的错误消息,由于我们这个规则类是通用的,所以将字段名通过 :attribute 动态注入: public function message()

    2.9K20

    Laravel 表单 size 验证数字

    要验证一个数字的确定值,看了表单验证文档 size:value验证的字段必须具有与给定值匹配的大小。对于字符串来说,value 对应于字符数。对于数字来说,value 对应于给定的整数值。...()) { dd($validator->errors()->first()); } dd('pass'); 我以为只要在验证的数据 9 是整数,他就会直接按数字的方式验证,结果直接打印了错误消息...The age must be 9 characters.这个错误消息很明显的是提示字符串长度的, 然后看了一下才发现还需要加上一个条件。...($attribute, $rule); Laravel 前面这些是过滤,验证文件上传的 Laravel 这里动态拼接了一个方法,通过打印得知是validateSize Laravel 然后在这个类用的...Laravel 再看一下他是如何验证的 Laravel Laravel 如果没有numeric或者integer会返回 null,就会导致$hasNumeric等于 false Laravel

    16010

    Laravel Validation 表单验证(二、验证表单请求)

    他们会自动被 Laravel 提供的 [服务容器] 自动解析。 所以,验证规则是如何运行的呢?你所需要做的就是在控制器方法中类型提示传入的请求。...他们会自动被 Laravel 提供的 [服务容器]自动解析。. 自定义错误消息 你可以通过重写表单请求的 messages 方法来自定义错误消息。...nullable 验证字段可以为 null。这在验证基本数据类型时特别有用,例如可以包含值的字符串和整数。 numeric 验证字段必须数值。...required 验证的字段必须存在于输入数据中,而不是如果满足以下条件之一,则字段被视为「」: 值 null 。 值空字符串。 值数组或 Countable 对象。...至于它到底是缺失还是值这取决于你。 隐式规则对象 如果你想要在属性时执行规则对象,你应该实现 Illuminate\Contracts\Validation\ImplicitRule 接口。

    29.2K10

    基于 Redis 在 Laravel 中实现消息队列及底层源码探究

    在演示如何实现消息队列之前,我们先来简单介绍下上面的三个组件。...在上面的示例代码中,我们将文章 ID 作为消息数据进行传递。 处理进程 消费端的处理进程通常是一个或者多个常驻内存的进程,它们或订阅或轮询消息队列,如果消息队列不为,则取出其中的消息数据进行处理。...任务类推送和处理的完整链路 了解了 Laravel 队列系统底层实现原理后,我们再来看如何在业务代码中使用它。还是以文章浏览数更新例,按照队列->消息->处理进程三个组件循序实现,方便对比理解。...如果你在队列消息被处理之前去查看其数据结构(默认位于 laravel_database_queues:default 中): 可以看到这个是一个经过 JSON 序列化后的消息数据: job 对应的是如何处理这个消息数据...,我们通过 job 字段值解析出消息数据处理器,然后将 data 字段值(即包含 PostViewsIncrement 任务类实例的数据)作为参数传递进去,CallQueuedHandler 的 call

    6.3K30

    通过 Laravel 创建一个 Vue 单页面应用(四)

    现在我们准备将注意力转移到用户创建 CRUD(增删改查)的功能上 —— 本教程将聚焦在编辑已存在的用户。 在处理第一个表单时,我们有机会了解如何定义动态 Vue 路由。...信息: 然后用户数据会显示在表单中: API速度很快,如果你要确定 loading 提示正常工作,你需要使用 setTimeout 去延迟设置 user 属性: api.find(this....然后我们在 Promise 上链接一个回调方法,在 API 成功执行之后设置成功提示信息,并设置最新的用户数据。2000 毫秒后我们置提示信息,这同样会隐藏模板中的消息。...我的目标:设置提示消息,并将用户重定向回先前的位置(即, /users 页)。 第二个目标,在表单底部添加一个 返回 或 取消 按钮,来放弃更新,并返回上一页。...如果你喜欢尝试,可以在 UsersEdit 组件向 API 发送无效请求时显示验证错误。并在表单成功提交后,清除错误消息。 下一步 处理完用户的更新后,我们将注意力转移到删除用户上。

    2K10

    Laravel 广播系统工作原理

    同时如果选用 log 驱动,也就表示客户端将不会接收任何消息,而只是将需要广播的消息写入到 laravel.log 日志文件内。 在下一节,我们将进一步讲解如何实现一个即时通信应用。...如果您不知道如何使用默认认证服务,可以查看 Laravel 的用户认证系统 文档快速入门。...如果事件一个普通事件,Laravel 会调用对应的监听类。...如果事件类型广播事件,Laravel 会使用 config/broadcasting.php 配置的驱动器将事件推送到 WebSocket 服务器。...之前我们已经在前端代码中完成频道的订阅和监听处理,这里当用户收到消息时会在页面弹出一个消息提示给用户。 现在如何对以上功能进行测试呢?

    9.2K20

    Laravel Validator自定义错误返回提示消息并在前端展示

    原文链接:https://vien.tech/article/163 前言 Laravel Validator 默认返回的是英文的提示消息,而大多数情况我们需要自定义错误返回提示消息,本文将介绍一下如何自定义错误消息...自定义错误消息 别怪我太直接,代码奉上 $messages = [ 'phone.unique' = '重复的电话号码', 'required' = '请将信息填写完整', ]; $this...'required|unique:table_name', 'name' = 'required', ], $messages); 是不是很简单呀,只需要在validate()方法参数里面加个提示信息数组就好了...,数组的key就是字段.验证方式或者直接验证方式,很显然,后者是应用于所有的,前者是应用于某一字段。...错误提示前端展示 接下来讲一下前端如何展示这些错误提示呢,来让我们挨个打印一下 @if ($errors- any()) @foreach ($errors- all() as $error) <

    2K40

    3分钟短文:书接上回,Laravel数据库迁移的那些个小技巧

    引言 使用laravel的数据库迁移功能进行表的创建,和迁移回滚之后,我们继续说说在设计中 表结构的更改之后的处理。以及如何为数据库填充一些伪数据作为测试。...比如我们创建的 events 表, 如果在迁移文件内添加字段,代码如下: [pic] 我们在数据库表中间的位置添加了一个 venue 字段。...很多时候,并不是说我们创建了表,并且指定了字段名,和字段数据类型就算完事儿了。 我们需要与非约束,默认值约束,主键约束,外键约束等等数据库所具有的特性, 这才是关系型数据库的魅力。...,所以laravel所组装的SQL就默认是最后一个字段之后。...写在最后 本文是对上一章所述laravel数据库迁移功能的补充。数据库迁移是一个比较大的动作, 特别是已经上线生产的应用数据库,如果非到更新迁移的地步不可,需要预期做好演练, 以应对可能的突发事故。

    1.7K30

    3分钟短文:Laravel应用跟用户打交道,就从拿到他们的数据开始!

    代码时间 我们在讲路由规划的时候,说了如何使用url的位置参数绑定的方式进行导向,其实那也是一种获取用户输入数据的方式, 只不过,传入的位置参数一般都人畜无害,公开访问,任你来来往往。...如果是单个用户的私密数据,必然是不能直接url内嵌传输的。...firstName,还有 querystring 的查询参数 utm,还有一个是用于 CSRF 防护的laravel内置函数,默认的表单字段就是 __token,所以大可不必费心。...has方法不仅会判断该键存在,如果该键的值是 (比如 null,空字符串,false,0,数组,对象等等),也是判断false的。...写在最后 本文几乎涵盖了用户输入input方法的最为常用的一些方法,我们只讲了怎么正常地获取用户数据,没有讲如何验证数据有效性。因为前端验证几乎形同虚设,最后能写到数据库的数据,还是要应用程序把关。

    1.5K00

    3分钟短文:Laravel应用跟用户打交道,就从拿到他们的数据开始!

    代码时间 我们在讲路由规划的时候,说了如何使用url的位置参数绑定的方式进行导向,其实那也是一种获取用户输入数据的方式, 只不过,传入的位置参数一般都人畜无害,公开访问,任你来来往往。...如果是单个用户的私密数据,必然是不能直接url内嵌传输的。...firstName,还有 querystring 的查询参数 utm,还有一个是用于 CSRF 防护的laravel内置函数,默认的表单字段就是 __token,所以大可不必费心。...has方法不仅会判断该键存在,如果该键的值是 (比如 null,空字符串,false,0,数组,对象等等),也是判断false的。...写在最后 本文几乎涵盖了用户输入input方法的最为常用的一些方法,我们只讲了怎么正常地获取用户数据,没有讲如何验证数据有效性。因为前端验证几乎形同虚设,最后能写到数据库的数据,还是要应用程序把关。

    1.4K10

    Laravel Eloquent 模型关联关系(下)

    如果要统计其它关联模型结果数量字段,可以依次类推,对应字段都是 {relation}_count 结构。...如果是要更新新创建的模型实例所属模型(父模型)的外键字段,比如以 posts 表例,新增的记录想要更新 user_id 字段,可以这么实现: $user = User::findOrFail(1);...前提是 user_id 允许 null,否则会抛出异常。 对象模型 如果外键字段 user_id 允许的话,当我们访问 Post 模型上的 author 属性时,默认返回 null。...Eloquent 允许我们这种对象定义一个默认的类型,这个对象的类型可以在定义关联关系的时候指定: public function author() { return $this->belongsTo...这样,我们就不需要在每个地方去判断如果文章作者信息如何处理了,因为这种情况下返回的也是一个正常的 User 模型实例。

    19.6K30

    Laravel系统3.3】控制器与表单验证

    对于 REST 有疑问的同学可以自行查阅相关的文档,在这里就不多说了,毕竟我们的主旨还是在于 Laravel 框架如何实现这些功能。...如果没有这个 _token 的话,那么表单提交之后就会报 419 的错误。 继续写我们的这个 store 接收页面。来看看我们如何验证这个表单里面提交的数据信息。...太智能太自动的东西有好处,但也有很多的限制,比如这个第三点,如果需要显示中文的错误信息的话,我们需要去下载或者自己配置一个 resource/lang 下的语言包,并且修改框架配置中的 lang 对应的语言包...在初始化的时候,会将数据 data 、 规则 initialRules 、提示消息 customMessages 存放到这个对象的相关变量中,然后通过对象里面的 validateAttribute()...方法进行参数和规则的匹配,并通过 addFailure() 方法匹配对应的提示消息信息,最后将这些信息放在 messages 属性中。

    8.7K20

    3分钟短文:十年窖藏,Laravel告诉你表单验证的“正确姿势”

    [img] 本文教你正确地验证用户表单提交的数据,那就是十余年坚定好用的Laravel验证器。...重要的是那些验证规则,我来逐一你解读。验证规则内使用的都是laravel内置写好了的规则,拿来即用。...字段,要求必填,必须是整型,数位2-5个之间。...自定义错误提示信息 错误提示信息,是laravel内置验证规则给定的,如果你觉得提示信息不够详尽,不太满意,自己写也是没问题的。 我把上面的验证规则重写一下。...写在最后 本文初步介绍了laravel验证器内置规则的使用,以及如何将验证信息渲染到视图文件内。 并介绍了自定义验证错误提示信息的使用方法。

    1.7K30

    Laravel 通过迁移文件定义数据表结构

    构建字段额外属性 绝大部分数据表字段都有自己的属性,比如长度、是否、默认值、注释信息等,比如我们可以为 users 表的 name 字段设置一些额外属性,将其长度设置 100(默认是255),并且为该字段添加注释信息...100 的字符串,该字段会插入到 name 字段后面,允许,注释信息是用户昵称。...如果你是想重命名某个字段,可以调用 renameColumn 即可: $table->renameColumn('name', 'username'); 索引和外键 前面我们已经演示了如何创建、删除、...修改表字段,接下来我们要讨论如何对表字段设置索引和外键。...: php artisan migrate:reset 友情提示:在本地开发环境,如果数据库没有安装在本地,比如你使用的是 Homestead 或 Laradcok 的话,需要登录到对应环境执行 migrate

    2.1K21
    领券