Yii2中如何使用scenario场景,使rules按不同运用进行字段验证

Yii2中如何使用scenario场景,使rules按不同运用进行字段验证
在这里插入图片描述

当创建news新闻form表单时:
添加新闻的时候执行create动作。
必填字段:title-标题,picture-图片,description-描述。 这时候在model里News.php下rules规则这样定义:

public function rules(){return [[['title', 'description', 'picture', ], 'required',],           ];}

但是更改的时候 只需要 [[‘title’, ‘description’], ‘required’], 就可以了, 少了 image 字段 表单就无法提交,这个问题如果解决呢?

那scenario场景就可以上场了
可以在app\models\News.php定义一个场景代码如下(也可以不定义):

public function scenarios(){return ['create'=>['title','description','picture'],'update'=>['title','description'],];}

注意:

如果在模型中定义了public function scenarios(),那么之后对该模型只能设置自定义的这些scenario名称(该案例只能使用model->scenario = ‘create’、model->scenario = ‘update’);
如果没有在模型中定义public function scenarios(),只需on数据有相关scenario名称即可命中规则(此时model->scenario 可设置成任意想要的场景名称),为了简便,我一般不设置;

修改rules规则:

public function rules(){return [[['title', 'description',  ], 'required','on'=>['create','update'],'message'=>'不能为空'],[['picture'], 'required', 'on' => 'create'],];}

在create动作下添加:

 $model->scenario = 'create';

在update动作下添加:

 $model->scenario = 'update';

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/711607.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

星座每日运势 api接口

接口数据api 接口平台&#xff1a;https://api.yuanfenju.com/ 开发文档&#xff1a;https://doc.yuanfenju.com/zhanbu/yunshi.html 支持格式&#xff1a;JSON 请求方式&#xff1a;HTTP POST <?php//您的密钥 $api_secret "wD******XhOUW******pvr"; //请…

利用coze 搭建“全功能“微信客服(2)

紧跟上篇 利用coze 搭建"全功能"微信客服&#xff08;1&#xff09;&#xff0c;不知道来龙去脉自行查阅 先表扬下coze: coze 是国内少数开放平台之一&#xff0c;里面提供各种插件还可以开发工作流&#xff0c;让你可以实现多模态全功能大模型 吐槽 没有API开放接口…

国外最流行的是AI,国内最流行的是AI培训教程

国外最流行的是AI&#xff0c;国内最流行的是AI培训教程。 最近李一舟AI教程事件&#xff0c;验证了这句话。 如今给客户做方案项目里能加点AI色彩&#xff0c;立项的成功率都变大(特别是事业单位)。 正因如此&#xff0c;大家都在狂补AI的知识&#xff0c;不然肚子里没点墨水&…

2024亚马逊全球开店注册前需要准备什么?

在2023年出海四小龙SHEIN、Temu、速卖通AliExpress、TikTok Shop快速增长扩张&#xff0c;成为了中国跨境卖家“逃离亚马逊”的新选择。但是&#xff0c;跨境电商看亚马逊。当前&#xff0c;亚马逊仍然是跨境电商行业的绝对老大&#xff0c;占有将近70%成以上的业务份额。 作为…

threejs显示本地硬盘上的ply文件,通过webapi

由于ply文件是第三方提供的&#xff0c;threejs无法用绝路路径的方式显示ply 所以想通过webapi把ply通过url地址的方式给threejs 1.webapi部分 /// <summary>/// 获取PLY文件/// </summary>/// <returns></returns>[HttpPost(Name "GetPly&qu…

分享fastapi低级错误

我是创建表的时候把__tablename__ 写成__table__然后一直报这个错误

Android Activity跳转详解

在Android应用程序中&#xff0c;Activity之间的跳转是非常常见的操作&#xff0c;通过跳转可以实现不同界面之间的切换和交互。在本篇博客中&#xff0c;我们将介绍Android中Activity跳转的相关知识&#xff0c;包括基本跳转、传递参数、返回数据以及跳转到浏览器、拨号应用和…

端游如何防破解

在2023年这个游戏大年中&#xff0c;诸多热门大作涌现&#xff0c;作为世界级IP哈利哈利波特的衍生游戏——《霍格沃茨之遗》毫无悬念地成为2023年游戏圈的首款爆款作品&#xff0c;斩获了一众玩家的青睐。 在众多光环的加持下&#xff0c;《霍格沃茨之遗》很快被著名游戏破解…

【每日前端面经】2024-03-01

题目来源: 牛客 MVVM怎么实现 MVVM分别指View、Model、ViewModel&#xff0c;View通过View-Model的DOM监听器将事件绑定到Model上&#xff0c;而Model则通过Data Bindings来管理View中的数据&#xff0c;View-Model从中起到一个连接的作用 响应式: vue如何监听data的属性变化…

深入 Starknet 去中心化世界,探秘实用开发利器

Starknet 近期开放空投&#xff0c;面向 130 万地址总量发放超 7 亿枚 Token&#xff0c;让 ECMP 早期贡献者、GitHub 开源开发者、Starknet 用户等各个层面的生态参与者都得以深度参与。 盛宴的背后&#xff0c;是 Starknet 正迎来发展的关键机遇。在今年以太坊坎昆升级的背景…

从别人的开源项目学习并吸收经验,然后逐步搭建自己的Java项目是一个很好的学习方法

从别人的开源项目学习并吸收经验&#xff0c;然后逐步搭建自己的Java项目是一个很好的学习方法。以下是一些建议的步骤&#xff0c;帮助你从0开始搭建并不断完善自己的Java项目&#xff0c;直至达到高可靠、高稳定、高并发、高数据安全&#xff0c;并可以拆分为微服务的大型高质…

【漏洞复现】某厂商上网行为管理系统static_convert命令执行漏洞

Nx01 产品简介 天融信上网行为管理系统是天融信公司凭借多年来的安全产品研发经验&#xff0c;为满足各行各业进行网络行为管理和内容审计的专业产品。 Nx02 漏洞描述 天融信上网行为管理系统老版本static_convert.php接口存在RCE漏洞&#xff0c;攻击者利用此漏洞可以获取服务…

超强预测算法:XGBoost预测模型

目录 往期精彩内容&#xff1a; 多变量特征序列、单序列数据预测实战 前言 1 风速数据预处理与数据集制作 1.1 导入数据 1.2 多变量数据预处理与数据集制作 1.3 单序列数据预处理与数据集制作 2超强模型XGBoost——原理介绍 3 模型评估和对比 3.1 随机森林预测模型 3…

基于NeRF/Gaussian的全新SLAM算法

什么是SLAM&#xff1f; SLAM&#xff0c;即同时定位与地图构建技术&#xff0c;SLAM可以让机器人、无人机和其他自动化系统能够在未知环境中同时进行自我定位和环境映射。 为什么是NeRF-Based SLAM&#xff1f; 传统CG将输入图像重新投影再融合到新的视图摄像机中&#xff0c…

InfiniBand 200Gbps QSFP56 高速线缆/光缆和光模块解决方案

随着数据中心和人工智能迅速发展&#xff0c;对高速、低延迟和低功耗的数据传输需求变得至关重要。飞速&#xff08;FS&#xff09;提供针对各种高性能计算场景量身定制的各种InfiniBand线缆和光模块产品。本文旨在概述飞速&#xff08;FS&#xff09;200G InfiniBand HDR 光缆…

深圳地铁12号线绿色出行新时代,格力中央空调助力节能飞跃

深圳地铁12号线&#xff0c;作为城市交通的重要组成部分&#xff0c;其运行贯穿着前海、南山、宝安、西乡等多个区域&#xff0c;承载着数以万计的乘客&#xff0c;是深圳市民出行的重要选择。在这条城市动脉上&#xff0c;一项革命性的变革正在悄然发生——绿色出行的新时代正…

MSCKF2讲:JPL四元数与Hamilton四元数

MSCKF2讲&#xff1a;JPL四元数与Hamilton四元数 文章目录 MSCKF2讲&#xff1a;JPL四元数与Hamilton四元数2 JPL四元数2.1 定义与区别2.2 JPL四元数的乘法2.3 反对称矩阵2.4 Ω ( ω ) \Omega(\omega) Ω(ω)矩阵2.5 JPL四元数与旋转矩阵的转换2.6 JPL四元数导数2.7 JPL四元数…

SpringCloud搭建微服务之Consul服务注册与发现

1. Consul介绍 Consul是由HashiCorp公司使用Go语言开发的一款开源工具&#xff0c;主要用于实现分布式系统的服务发现和服务配置&#xff0c;其内置了服务注册与发现框架、分布式一致性协议实现、健康检查、Key-Value存储、多数据中心方案。Consul具有高可移植性&#xff0c;支…

Java多线程系列——Executor

目录 Executor框架概览 核心组件 1. 任务&#xff08;Task&#xff09; 2. 线程池&#xff08;ThreadPool&#xff09; 3. 任务调度 4. 任务执行与结果检索 使用案例 实际应用场景 总结 Java的多线程编程是Java语言提供的核心特性之一&#xff0c;允许开发者有效地管理…

【数仓】Hadoop软件安装及使用(集群配置)

一、环境准备 1、准备3台虚拟机 Hadoop131&#xff1a;192.168.56.131Hadoop132&#xff1a;192.168.56.132Hadoop133&#xff1a;192.168.56.133 本例系统版本 CentOS-7.8&#xff0c;已安装jdk1.8 2、hosts配置&#xff0c;关闭防火墙 vi /etc/hosts添加如下内容&#x…