Laravel如何创建自定义的验证规则(Validation Rule)

Laravel中创建自定义验证规则可通过Artisan命令生成Rule类,如php artisan make:rule Uppercase,生成的类需实现passes方法定义逻辑(如判断字符串是否全大写)和message方法返回错误信息;可在控制器验证中直接使用new Uppercase;支持带参数的规则(如MinUppercase含最小长度),通过构造函数传参并在passes中校验;还可注册为全局规则,在AppServiceProvider中用Validator::extend添加自定义规则(如min_uppercase),并用replacer定义错误消息,之后即可在验证数组中像内置规则一样使用字符串形式调用,推荐使用Rule类管理复杂逻辑以保持代码清晰。

laravel如何创建自定义的验证规则(validation rule)

在 Laravel 中创建自定义验证规则非常简单,你可以通过命令生成一个规则类,然后在里面定义自己的逻辑。这种方式让代码更清晰、可复用,并且符合 Laravel 的规范。

使用 Artisan 命令创建自定义规则

运行以下命令来生成一个新的验证规则:

php artisan make:rule Uppercase

这会生成一个位于 app/Rules/Uppercase.php 的类,结构如下:

class Uppercase implements Rule
{
    public function passes($attribute, $value)
    {
        // 验证逻辑:判断字符串是否全为大写
        return strtoupper($value) === $value;
    }

    public function message()
    {
        return ‘The :attribute must be uppercase.’;
    }
}

在表单请求或控制器中使用自定义规则

你可以在控制器的验证逻辑中直接使用这个规则:

use AppRulesUppercase;

$request->validate([
    ‘name’ => [‘required’, new Uppercase],
]);

如果输入的 name 不是大写,就会返回你定义的错误信息。

带参数的自定义规则

如果你想让规则更灵活,比如限制字符串最小长度的同时检查大写,可以传参:

MOKI MOKI

MOKI是美图推出的一款AI短片创作工具,旨在通过AI技术自动生成分镜图并转为视频素材。

MOKI 375 查看详情 MOKI

// 生成规则
php artisan make:rule MinUppercase

class MinUppercase implements Rule
{
    private $min;

    public function __construct($min)
    {
        $this->min = $min;
    }

    public function passes($attribute, $value)
    {
        return strlen($value) >= $this->min && strtoupper($value) === $value;
    }

    public function message()
    {
        return ‘The :attribute must be uppercase and at least ‘.$this->min.’ characters.’;
    }
}

使用时传入参数:

$request->validate([
    ‘name’ => [‘required’, new MinUppercase(5)],
]);

注册为全局验证规则(可选)

如果你希望像内置规则一样使用自定义规则(如 ‘min_uppercase:5’),可以在 AppServiceProvider@boot 中扩展 Validator:

use IlluminateSupportFacadesValidator;
Validator::extend(‘min_uppercase’, function ($attribute, $value, $parameters, $validator) {
    $min = $parameters[0] ?? 1;
    return strlen($value) >= $min && strtoupper($value) === $value;
});

// 错误消息
Validator::replacer(‘min_uppercase’, function ($message, $attribute, $rule, $parameters) {
    return str_replace(‘:attribute’, $attribute, ‘必须至少 :min 个字符且为大写。’);
});

之后就可以在验证中这样写:

‘name’ => ‘required|min_uppercase:5’

基本上就这些。Laravel 的自定义规则机制很灵活,推荐优先使用 Rule 类的方式组织复杂验证逻辑,保持代码整洁易维护。

以上就是Laravel如何创建自定义的验证规则(Validation Rule)的详细内容,更多请关注php中文网其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/829758.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
java框架与流式数据处理技术的融合
上一篇 2025年11月27日 07:20:21
Linux中mount命令的替代方案是什么
下一篇 2025年11月27日 07:20:22

相关推荐

  • 双11京东一号店铺在哪?双11京东一号店铺在哪里看

    双11京东一号店铺在哪?双11京东一号店铺在哪里看双11京东一号店铺在哪?双11京东一号店铺在哪里看双11京东一号店铺在哪?双11京东一号店铺在哪里看双11京东一号店铺在哪?双11京东一号店铺在哪里看

    京东2025年双11活动从10月9日持续至11月14日,红包可于10月9日至11月11日每日领取,输入口令如“有惊喜228”“好运连连400”等可在京东APP搜索后进入活动页领取,最高可得11111元,叠加满300减50跨店满减及会员专属优惠使用。 如果您在双11期间想要查找京东一号会员店的专属优惠…

    2026年9月30日 • 用户投稿
    100
  • iCloud官网怎么管理iCloudDrive_iCloudDrive文件管理教程

    iCloud官网怎么管理iCloudDrive_iCloudDrive文件管理教程iCloud官网怎么管理iCloudDrive_iCloudDrive文件管理教程iCloud官网怎么管理iCloudDrive_iCloudDrive文件管理教程iCloud官网怎么管理iCloudDrive_iCloudDrive文件管理教程

    首先登录iCloud.com并进入iCloud云盘界面,1、访问icloud.com并用Apple ID登录;2、点击“iCloud云盘”进入文件管理;3、点击新建文件夹按钮创建文件夹,双击名称可重命名;4、通过选择文件后点击“移到文件夹”将其归类;5、使用“上传”添加本地文件,“下载”保存云端文件…

    2026年9月30日 • 用户投稿
    000
  • 在Java应用中高效管理大规模Linux命令执行

    在Java应用中高效管理大规模Linux命令执行在Java应用中高效管理大规模Linux命令执行在Java应用中高效管理大规模Linux命令执行在Java应用中高效管理大规模Linux命令执行

    在Java应用中并发执行数千甚至数万个Linux命令是一项复杂的挑战,尤其是在需要实时处理输出时。本文将探讨如何通过Java的ProcessBuilder机制,结合异步处理和资源优化策略,高效地管理和运行如socat这类命令,避免系统负载飙升,实现大规模并发操作。核心在于理解命令特性、优化I/O流处…

    2026年9月30日 • 用户投稿
    000
  • Mac如何设置邮件客户端_Mac自带邮件客户端账户设置教程

    Mac如何设置邮件客户端_Mac自带邮件客户端账户设置教程Mac如何设置邮件客户端_Mac自带邮件客户端账户设置教程Mac如何设置邮件客户端_Mac自带邮件客户端账户设置教程Mac如何设置邮件客户端_Mac自带邮件客户端账户设置教程

    首先检查邮件账户配置是否正确,依次尝试添加或重新添加账户,手动设置IMAP/POP及SMTP服务器信息,核对端口与加密方式,启用应用专用密码,最后重置账户以清除错误缓存。 如果您在Mac上无法正常收发邮件,可能是由于邮件客户端账户配置不正确或服务器信息缺失。以下是解决此问题的步骤: 本文运行环境:M…

    2026年9月30日 • 用户投稿
    200
  • 拼多多领现金有风险吗?拼多多领现金有风险吗安全吗

    拼多多领现金有风险吗?拼多多领现金有风险吗安全吗拼多多领现金有风险吗?拼多多领现金有风险吗安全吗拼多多领现金有风险吗?拼多多领现金有风险吗安全吗拼多多领现金有风险吗?拼多多领现金有风险吗安全吗

    答案:拼多多“领现金”活动涉嫌虚假宣传和欺诈。用户被“轻松提现”等话术诱导,实际需不断邀请好友助力且进度停滞在0.01元,规则不透明,现金奖励被替换为虚拟道具,客服缺失,违反《消费者权益保护法》等多项法规,损害消费者知情权与公平交易权。 如果您参与拼多多的“领现金”类活动,却发现提现过程异常艰难,且…

    2026年9月30日 • 用户投稿
    000
  • 从 Apache Flink ML 中提取 LinearSVC 模型系数和截距

    从 Apache Flink ML 中提取 LinearSVC 模型系数和截距从 Apache Flink ML 中提取 LinearSVC 模型系数和截距从 Apache Flink ML 中提取 LinearSVC 模型系数和截距从 Apache Flink ML 中提取 LinearSVC 模型系数和截距

    本文介绍了如何从 Apache Flink ML 训练的 LinearSVC 模型中提取超平面参数,包括系数和截距。通过提取这些参数,用户可以将模型规则集成到 Flink CEP 的模式匹配 API 中,实现更复杂的流处理逻辑。本文提供了 Python 和 Java 示例代码,帮助用户快速上手。 提…

    2026年9月30日 • 用户投稿
    000
  • 平安证券撤单怎么操作_平安证券APP撤销委托单方法

    平安证券撤单怎么操作_平安证券APP撤销委托单方法平安证券撤单怎么操作_平安证券APP撤销委托单方法平安证券撤单怎么操作_平安证券APP撤销委托单方法平安证券撤单怎么操作_平安证券APP撤销委托单方法

    首先打开平安证券APP登录账户,通过【交易】—【撤单】选择未成交委托单,确认信息后验证密码或指纹完成撤单;也可从首页【更多服务】或【我的】—【设置】进入撤单;基金订单需在【我的】—【交易订单】—【基金理财订单】中对“待确认”状态的订单点击【撤销】并验证完成。 如果您在平安证券APP中提交了股票或基金…

    2026年9月30日 • 用户投稿
    100
  • 牧场物语风之繁华集市各地区解锁条件及功能介绍 各地区怎么解锁

    牧场物语风之繁华集市各地区解锁条件及功能介绍 各地区怎么解锁牧场物语风之繁华集市各地区解锁条件及功能介绍 各地区怎么解锁牧场物语风之繁华集市各地区解锁条件及功能介绍 各地区怎么解锁牧场物语风之繁华集市各地区解锁条件及功能介绍 各地区怎么解锁

    《牧场物语 风之集市》中包含五个可探索区域,其中牧场、微风小镇与集市会场在游戏开始时即已开放。山区需完成村庄集市任务后次日解锁,而骑乘公园则会在第一年夏季的14日正式开启。 牧场 解锁方式:初始自带 ・为主角居住地所在地图・可在区域内建造房屋、耕种田地、饲养动物等 微风小镇 解锁方式:初始开放 ・可…

    2026年9月30日 • 用户投稿
    100
  • 夸克浏览器在线直达 夸克网页版免费开放入口

    夸克浏览器在线直达入口为https://www.quark.cn/,该网页版集成AI超级框、多模态搜索、去广告优化及云端存储等功能,支持跨设备同步与个性化设置,提供高效智能的浏览体验。 夸克浏览器在线直达入口在哪里?这是不少网友都关注的,接下来由PHP小编为大家带来夸克网页版免费开放入口,感兴趣的网…

    2026年9月30日
    400
  • Java Swing中JTextField输入获取的正确姿势与常见错误解析

    Java Swing中JTextField输入获取的正确姿势与常见错误解析Java Swing中JTextField输入获取的正确姿势与常见错误解析Java Swing中JTextField输入获取的正确姿势与常见错误解析Java Swing中JTextField输入获取的正确姿势与常见错误解析

    本教程详细讲解了在Java Swing应用中如何正确获取JTextField组件的用户输入,并将其存储为String变量。文章深入剖析了初学者常遇到的NullPointerException错误,揭示了其根源在于类成员变量与局部变量的混淆使用。通过提供规范的初始化和引用方法,帮助开发者避免此类问题,…

    2026年9月30日 • 用户投稿
    000
  • 在手机淘宝装修的时候千万不能做的禁忌你知道吗?

    在手机淘宝装修的时候千万不能做的禁忌你知道吗?在手机淘宝装修的时候千万不能做的禁忌你知道吗?在手机淘宝装修的时候千万不能做的禁忌你知道吗?在手机淘宝装修的时候千万不能做的禁忌你知道吗?

    避免图片动画过多、信息堆砌、布局错乱、滥用分享与音乐、使用无版权素材,确保手机淘宝店铺加载流畅、视觉清晰、操作便捷,提升用户体验与转化率。 如果您在手机淘宝上进行店铺装修,却发现页面加载缓慢或用户流失严重,很可能是触碰了某些常见的设计禁忌。这些问题会直接影响用户体验和店铺转化率。 本文运行环境:iP…

    2026年9月30日 • 用户投稿
    300
  • 太烧钱了!Netflix《巫师》剧集已豪掷5亿美元

    太烧钱了!Netflix《巫师》剧集已豪掷5亿美元太烧钱了!Netflix《巫师》剧集已豪掷5亿美元太烧钱了!Netflix《巫师》剧集已豪掷5亿美元太烧钱了!Netflix《巫师》剧集已豪掷5亿美元

    根据媒体Redanian Intelligence的消息,Netflix在《巫师》这一IP的影视化开发上累计投入已突破5亿美元。这笔资金涵盖了三季主线剧集、前传性质的迷你剧《血源》(The Witcher: Blood Origin),以及仍在制作中的衍生剧《耗子帮》(The Rats)。 具体成本…

    2026年9月30日 • 用户投稿
    200
  • MAC怎么在菜单栏显示网速_Mac状态栏实时网速监控软件推荐

    MAC怎么在菜单栏显示网速_Mac状态栏实时网速监控软件推荐MAC怎么在菜单栏显示网速_Mac状态栏实时网速监控软件推荐MAC怎么在菜单栏显示网速_Mac状态栏实时网速监控软件推荐MAC怎么在菜单栏显示网速_Mac状态栏实时网速监控软件推荐

    使用Ethernet Status和网速+可在Mac菜单栏实时监控网络速度,前者提供上传/下载显示及语音提醒,后者支持桌面小组件展示;配合Speedtest手动检测带宽,确保网络稳定。 如果您在使用Mac时需要实时监控网络速度,但发现系统默认并未在菜单栏提供网速显示功能,这可能导致您无法及时察觉网络…

    2026年9月30日 • 用户投稿
    100
  • 抖音双十一红包怎么领不了?2021抖音双十一有优惠券吗

    抖音双十一红包怎么领不了?2021抖音双十一有优惠券吗抖音双十一红包怎么领不了?2021抖音双十一有优惠券吗抖音双十一红包怎么领不了?2021抖音双十一有优惠券吗抖音双十一红包怎么领不了?2021抖音双十一有优惠券吗

    一年一度的双十一购物盛典已经开启,抖音作为热门电商平台之一,推出了丰富的红包与优惠券活动。然而不少用户反映“抖音双十一红包怎么领不了”,遇到各种领取障碍。本文将深入解析常见问题,并提供实用解决方案,助你顺利抢到福利。 一、常见领取失败原因 系统高峰拥堵:在10月31日、11月10日晚8点等关键节点,…

    2026年9月30日 • 用户投稿
    200
  • PHP实时输出如何实现多语言支持_PHP实时输出多语言内容

    实现实时输出多语言内容需关闭输出缓冲并启用自动刷新,结合语言数组动态输出。通过设置ob_implicit_flush(true)、使用翻译函数__t()根据$langCode返回对应文本,并在每次echo后调用flush(),确保中英文提示即时显示。需配置服务器禁用代理缓冲,设置UTF-8编码,避免…

    2026年9月30日
    200
  • 硬盘出现坏道怎么办?如何挽救坏道中的数据?

    硬盘出现坏道怎么办?如何挽救坏道中的数据?硬盘出现坏道怎么办?如何挽救坏道中的数据?硬盘出现坏道怎么办?如何挽救坏道中的数据?硬盘出现坏道怎么办?如何挽救坏道中的数据?

    硬盘出现坏道后应立即停止使用,区分逻辑坏道(可软件修复)和物理坏道(不可修复,只能标记),优先尝试用R-Studio、ddrescue等工具恢复数据,若硬盘有异响、无法识别或数据极其重要,应立即寻求专业服务。 硬盘出现坏道,这事儿挺让人头疼的,但别慌,关键是立即停止对硬盘的任何操作,避免情况恶化。挽…

    2026年9月30日 • 用户投稿
    500
  • 抖音双十一什么时候开始?今年抖音双十一什么时候开始

    抖音双十一什么时候开始?今年抖音双十一什么时候开始抖音双十一什么时候开始?今年抖音双十一什么时候开始抖音双十一什么时候开始?今年抖音双十一什么时候开始抖音双十一什么时候开始?今年抖音双十一什么时候开始

    一年一度的“双十一”购物节即将到来,各大电商平台纷纷开启促销模式,抖音作为热门的内容电商平台,自然也加入了这场年度大促。那么,抖音双十一什么时候开始?本文将为你全面梳理2025年抖音双十一的活动时间安排及核心玩法,助你提前掌握节奏,轻松抢购心仪好物! 一、2025年抖音双十一活动时间表 与往年相比,…

    2026年9月30日 • 用户投稿
    100
  • 买Realme手机怎么挑存储—Realme手机存储如何选择方法

    买Realme手机怎么挑存储—Realme手机存储如何选择方法买Realme手机怎么挑存储—Realme手机存储如何选择方法买Realme手机怎么挑存储—Realme手机存储如何选择方法买Realme手机怎么挑存储—Realme手机存储如何选择方法

    选Realme手机存储先看使用习惯:日常使用建议256GB起步,适合学生和上班族,系统占20GB且App缓存多,128GB易告急;手游玩家或拍照多选512GB更省心,大型游戏单个超10GB,长期使用不卡顿;支持MicroSD扩展的机型可插卡存照片视频,不支持则用云服务备份,定期清理缓存防空间不足。 …

    2026年9月30日 • 用户投稿
    200
  • 天猫超市小米官方旗舰店靠谱吗?天猫小米官方旗舰店是真的吗

    天猫超市小米官方旗舰店靠谱吗?天猫小米官方旗舰店是真的吗天猫超市小米官方旗舰店靠谱吗?天猫小米官方旗舰店是真的吗天猫超市小米官方旗舰店靠谱吗?天猫小米官方旗舰店是真的吗天猫超市小米官方旗舰店靠谱吗?天猫小米官方旗舰店是真的吗

    答案:天猫小米官方旗舰店是正品。通过核对企业信息为“小米通讯技术有限公司”、价格与官网同步、支持全国联保及官方售后,可验证其真实性与可靠性。 如果您在天猫平台选购小米产品,但对店铺的真伪和可靠性存疑,这通常是因为需要确认其是否为官方直接授权。以下是关于该旗舰店真实性和可靠性的具体分析与验证方法。 本…

    2026年9月30日 • 用户投稿
    100
  • 夸克AI官方主页智能平台 夸克AI智能助手官网直达访问链接

    夸克AI官方主页智能平台是https://www.quark.cn/,用户可通过该官网访问AI搜索、网盘存储、智能写作及多端同步等核心功能,实现高效便捷的跨设备使用体验。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 夸克AI官方主页智能平…

    2026年9月30日
    200

发表回复

登录后才能评论
关注微信