您现在的位置是:首页 > 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);

本文标签:

很赞哦! ()

相关源码

  • Wordpress博客新闻主题在线商店平台betheme 21.5.6版BeTheme是一款功能丰富的WordPress主题模板,专注于为各行业提供网站建设解决方案。该模板支持WooCommerce电子商务功能,能够快速搭建在线商店平台,同时适用于博客、新闻资讯类网站建设。自2014年发布以来,该模板已经获得大量用户的使用验证。查看源码
  • 帝国cms淘宝客京东联盟网站整站源码下载本模板基于帝国CMS内核深度开发,为淘宝客行业量身定制。随着腾讯微信与淘宝生态的互联互通,淘宝客链接现可在微信、QQ等平台直接分享,为推广带来更多便利。模板特别优化了店铺推广功能,有效避免商品下架导致的链接失效问题,同时支持京东联盟等多平台商品推广。查看源码
  • (PC+WAP)门窗门业家居定制铝合金产品pbootcms模板下载基于PbootCMS内核开发的门窗门业企业专用模板,采用响应式设计结构,数据一次录入即可同步适配电脑与手机端浏览。通过简洁大气的视觉呈现,帮助门窗企业快速建立专业线上展示平台,有效传递产品价值与服务优势。查看源码
  • (PC+WAP)蓝色钢材加工建筑装修施工材料网站模板下载为钢材加工企业设计的PbootCMS响应式模板,采用PC+WAP双端适配技术,数据实时同步。简洁大气的蓝色工业风格设计,突出钢材加工行业特性,其他制造业用户更换图文内容即可快速应用。查看源码
  • (自适应)代理记账财务会计咨询服务个人公司网站模板该响应式网站模板为代理记账、财政咨询及财务会计类企业设计,基于PbootCMS内核开发。通过自适应手机端的HTML5技术,帮助企业高效构建专业财税服务平台查看源码
  • (PC+WAP)蓝色低碳环保隔断板装修装饰类网站pbootcms源码下载本款基于PbootCMS开发的网站模板为活动隔断板、装修装饰行业打造,特别适合移动隔断、环保隔断、办公分区等产品的展示与推广。查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐