您现在的位置是:首页 > cms教程 > 易优cms教程易优cms教程
易优eyoucms表单验证场景使用方法
车杜炯2025-04-10易优cms教程已有人查阅
导读5.0.4 增加hasScene方法用于检查是否存在验证场景可以在定义验证规则的时候定义场景,并且验证不同场景的数据,例如:表示验证edit场景(该场景定义只需要验证name和age字段)。
5.0.4 增加hasScene方法用于检查是否存在验证场景可以在定义验证规则的时候定义场景,并且验证不同场景的数据,例如:
如果使用了验证器,可以直接在类里面定义场景,例如:
$rule = [
'name' => 'require|max:25',
'age' => 'number|between:1,120′,
'email' => 'email',
];
$msg = [
'name.require' => '名称必须',
'name.max' => '名称最多不能超过25个字符',
'age.number' => '年龄必须是数字',
'age.between' => '年龄只能在1-120之间',
'email' => '邮箱格式错误',
];
$data = [
'name' => 'thinkphp',
'age' => 10,
'email' => 'thinkphp@qq.com',
];
$validate = new Validate($rule);
$validate->scene('edit', ['name', 'age']);
$result = $validate->scene('edit')->check($data);
表示验证edit场景(该场景定义只需要验证name和age字段)。如果使用了验证器,可以直接在类里面定义场景,例如:
namespace appindex alidate;
use thinkValidate;
class User extends Validate
{
protected $rule = [
'name' => 'require|max:25',
'age' => 'number|between:1,120′,
'email' => 'email',
];
protected $message = [
'name.require' => '名称必须',
'name.max' => '名称最多不能超过25个字符',
'age.number' => '年龄必须是数字',
'age.between' => '年龄只能在1-120之间',
'email' => '邮箱格式错误',
];
protected $scene = [
'edit' => ['name','age'],
];
}
然后再需要验证的地方直接使用 scene 方法验证
$data = [
'name' => 'thinkphp',
'age' => 10,
'email' => 'thinkphp@qq.com',
];
$validate = new ppindex alidateUser($rule);
$result = $validate->scene('edit')->check($data);
可以在定义场景的时候对某些字段的规则重新设置,例如:
namespace appindex alidate;
use thinkValidate;
class User extends Validate
{
protected $rule = [
'name' => 'require|max:25',
'age' => 'number|between:1,120′,
'email' => 'email',
];
protected $message = [
'name.require' => '名称必须',
'name.max' => '名称最多不能超过25个字符',
'age.number' => '年龄必须是数字',
'age.between' => '年龄只能在1-120之间',
'email' => '邮箱格式错误',
];
protected $scene = [
'edit' => ['name','age'=>'require|number|between:1,120′],
];
}
可以对场景设置一个回调方法,用于动态设置要验证的字段,例如:
$rule = [
'name' => 'require|max:25',
'age' => 'number|between:1,120′,
'email' => 'email',
];
$msg = [
'name.require' => '名称必须',
'name.max' => '名称最多不能超过25个字符',
'age.number' => '年龄必须是数字',
'age.between' => '年龄只能在1-120之间',
'email' => '邮箱格式错误',
];
$data = [
'name' => 'thinkphp',
'age' => 10,
'email' => 'thinkphp@qq.com',
];
$validate = new Validate($rule);
$validate->scene('edit', function($key,$data){
return 'email'==$key && isset($data['id'])? true : false;
});
$result = $validate->scene('edit')->check($data);
本文标签:
很赞哦! ()
相关教程
- PHP中矩形面积的计算:公式实现与表单交互
- PHP中三角形面积的计算:公式实现与表单交互
- PHP中两数相减的三种实现方式:基础运算、表单交互与减法替代算法
- PHP中两数相加的三种实现方式:基础运算、表单交互与替代算法
- PHP文件上传:从表单构建到安全存储的完整流程
- PHP表单处理实战:从HTML控件到数据接收的完整链路
- jQuery :disabled选择器:精准定位所有禁用的表单元素
- jQuery :enabled选择器:精准选中所有可用表单元素
- jQuery submit()事件:拦截和控制表单提交
- jQuery change()事件:捕获表单元素的值变化
- jQuery serializeArray()方法:把表单数据变成对象数组
- jQuery serialize()方法:表单数据的序列化处理
图文教程
易优CMS标签switch条件判断支持多条件判断的用法示例
【基础用法】标签:switch描述:简单条件判断,比if判断标签少些不等于相同功能,视个人习惯而用。属性:condition='' 原生php语法条件判断涉及表字段: 无
eyoucms易优怎么指定栏目加nofollow
给栏目加一个自定义开关字段,开就加nofollow。1、高级选项-频道模型-栏目字段管理(右上角)
易优CMS数据库链接失败的解决方法
当出现数据库连接失败的提示时,通常是因为数据库配置信息不正确。为了解决这个问题,你需要检查并更新数据库配置文件。具体步骤如下:检查并更新数据库配置
织梦转易优不支持sql的临时解决方法
先升级到较新版,下载以下补丁包,然后解压覆盖到网站根目录下。下载,支持sql标签的补丁包,下面我们将织梦和易优的sql标签进行对比转换
相关源码
-
(自适应手机端)英文外贸电子产品通用pbootcms模板源码下载为电子产品外贸企业设计的响应式网站模板,采用PbootCMS开发内核,支持多语言展示。模板默认集成产品展示系统、询价表单模块和企业资质展示区,满足跨境贸易基础需求。整站采用模块化设计,便于扩展业务场景。查看源码 -
(自适应)黑色摄影作品工作室pbootcms模板网站源码下载为风景摄影、个人工作室打造的高端网站模板,基于PbootCMS开源内核开发,采用HTML5自适应架构,PC与移动端实时数据同步,适配各类拍摄作品展示需求。查看源码 -
(自适应)五金配件机械蓝色营销型pbootcms模板免费下载基于PbootCMS的工业配件展示系统,精简DIV+CSS架构确保响应速度,自适应设计呈现参数表格,支持后台实时更新产品规格、在线留言等内容。查看源码 -
(自适应响应式)环保净化器家用电器网站免费模板针对环保设备、环境监测等领域的PbootCMS响应式模板,通过模块化设计清晰展示污水处理技术、空气净化系统等解决方案。移动端呈现环保数据可视化图表,后端统一管理确保项目案例、技术等资料多端同步。查看源码 -
(PC+WAP)蓝色五金机械设备营销型网站源码下载基于PbootCMS内核开发的营销型企业网站模板,为五金机械设备类企业打造,通过标准化数字展示提升客户转化率。模板采用模块化设计,可快速适配机床工具、建筑五金、阀门管件等细分领域。查看源码 -
pbootcms源码宠物类网站源码下载(自适应多端)为宠物装备商店、宠物食品及用品企业打造的营销型模板,基于PbootCMS内核深度开发。采用响应式设计实现PC与移动端适配,PHP7.0+高性能架构支持MySQL/SQLite双数据库查看源码
| 分享笔记 (共有 篇笔记) |
