当前位置: 首页 > wzjs >正文

nodejs网站开发中国建筑股份有限公司

nodejs网站开发,中国建筑股份有限公司,大型门户网站建设效果,游戏设计需要学什么专业一.验证器定义 1. 验证器的使用,我们必须先定义它,系统提供了一条命令直接生成想要的类; php think make:validate User 2. 这条命令会自动在应用目录下生成一个validate文件夹,并生成User.php类; class…

一.验证器定义

1. 验证器的使用,我们必须先定义它,系统提供了一条命令直接生成想要的类;

php think make:validate User

2. 这条命令会自动在应用目录下生成一个validate文件夹,并生成User.php类;

class User extends Validate

3. 自动生成了两个属性:$rule表示定义规则,$message表示错误提示信息;

protected $rule = ['name'=>'require|max:20','price'=>//不得为空,不得大于20位
'number|between:1,100', //必须是数值,1-100 之间
'email'=>'email'];protected $message = ['name.require'=>'姓名不得为空','name.max'=>'姓名不得大于20位','price.number'=>'价格必须是数字','price.between'=>'价格必须1-100之间','email'=>'邮箱的格式错误'];

4. 如果不设置$message定义的话,将提示默认的错误信息;

5. 验证器定义好了之后,我们需要进行调用测试,创建一个Verify.php控制器;

try {validate(User::class)->check(['name' => '蜡笔小新','price' => 90,'email' => 'xiaoxin@163.com']);} catch (ValidateException $e) {dump($e->getError());}

6. 默认情况下,出现一个错误就会停止后面字段的验证,我们也可以设置批量验证;

validate(User::class)->batch(true)...

由于出现一个错误,后面就会停止,使用我们要应用batch:

只能显示一个错误,但是后面的两个也是错的。

下面这个图片的batch位置写错了:

正确写法:

7. 系统提供了常用的规则让开发者直接使用,也可以自行定义独有的特殊规则;

protected $rule = ['name'=>'require|max:20|checkName:李炎恢',];//自定义规则,名称中不得是“李炎恢”protected function checkName($value, $rule){return $rule != $value ? true : '名称存在非法称谓';}

8. 对于自定义规则中,一共可以有五个参数,我们分别了解一下;

protected function checkName($value, $rule, $data, $field, $title){dump($data);//所有数据信息
dump($field);//当前字段名
dump($title);//字段描述,没有就是字段名
}

1. checkName方法参数传值

  • $value:它代表的是被验证字段的实际值。例如,若要验证name字段,那么$value就是name字段在表单提交时所携带的值。
  • $rule:此为验证规则中自定义规则之后的额外参数。就像'checkName:thinkphp'里,$rule的值就是thinkphp
  • $data:它是一个数组,包含了所有需要验证的数据。默认值为空数组[],在验证时,整个待验证的数据数组会被传递给这个参数。

9. 如何设置字段描述,只要在字段名用|后设置即可: 'name|用户名' => 'require|max:20|checkName:李炎恢',

<?php
namespace app\validate;use think\Validate;class User extends Validate
{protected $rule = ['name'  =>  'checkName:thinkphp','email' =>  'email',];protected $message = ['name'  =>  '用户名必须','email' =>  '邮箱格式错误',];// 自定义验证规则protected function checkName($value, $rule, $data=[]){return $rule == $value ? true : '名称错误';}
}// 调用验证类
$validate = new User();
$data = ['name' => 'thinkphp','email' => 'test@example.com'
];if (!$validate->check($data)) {dump($validate->getError());
} else {echo '验证通过';
}

代码解释

  • 在上述代码中,当调用$validate->check($data)时,name字段的值'thinkphp'会被传递给checkName方法的$value参数。
  • 'checkName:thinkphp'里的thinkphp会被传递给checkName方法的$rule参数。
  • 整个$data数组会被传递给checkName方法的$data参数。

这样,在checkName方法中就能依据$value$rule的值进行验证,并返回验证结果。

验证规则

有的时候只对数据进行局部的验证,而不是全局。

1.在上一节验证器定义的时候,我们采用的字符串模式,也支持数组模式;

protected $rule =['name' => ['require','max' => 10,'checkName' => '李炎恢'],'price' => ['number','between' => '1,100'],'email' => 'email'];

2.数组模式在验证规则很多很乱的情况下,更容易管理,可读性更高;

3.如果你想使用独立验证,就是手动调用验证类,而不是调用User.php验证类;

第一个是定义规则,第二个是验证规则:

4.这种调用方式,一般来说,就是独立、唯一,并不共享的调用方式;

$validate = Validate::rule(['name' => 'require|max:20','price' => 'number|between:1,100','email' => 'email']);$result =$validate->check(['name' => '李炎恢','price' => 90,'email' => 'xiaoxin163.com']);if(!$result){dump($validate->getError());}

5. 独立验证默认也是返回一条错误信息,如果要批量返回所有错误使用batch();

$result = $validate->batch(true)->check

6. 独立验支持对象化的定义方式,但不支持在属性方式的定义;

$validate = Validate::rule(['name'=>ValidateRule::isRequire()->max(20),'price'=>ValidateRule::isNumber()->between([1, 100]),'email'=>ValidateRule::isEmail()]);

http://www.dtcms.com/wzjs/563229.html

相关文章:

  • 不花钱做推广的网站php做的汽车销售网站
  • 品牌策划网站推荐怎么制作手机网站
  • wordpress能读取代源码吗沈阳网站关键词优化服务好
  • 武邑网站建设公司wordpress 嵌套评论
  • 城阳网站建设公司网站建设叁金手指花总2
  • 公众号的微网站开发教育机构网站开发
  • 用服务器做网站南昌的网站推广公司
  • 加强人社网站建设义乌建站
  • 二级域名做网站有哪些缺点机房网站建设方案
  • 查看一个网站开发语言广州专业网站建设后台管理便捷
  • 全运网站的建设怎么建设游戏网站
  • wp做购物网站简述网站的建设流程
  • 网站的公司百度投放广告怎么收费
  • 服装行业网站建设比较好湖南工商网址
  • 初学者求教怎样做网站最有创意促销活动方案
  • 做MAD生肉网站网站建设费用应该开专票还是普票
  • 网站页面用什么软件做电商平台运营是做什么
  • 小女孩做网站软件外包多少钱
  • 长宁做手机网站建设珠海高端网站建设公司
  • 烟台网站排行榜怎么在建设银行网站留言
  • 网站定制开发上海建设网站的目的和意义
  • 帮别人做网站的单子七牛云cdn加速wordpress
  • 微信网站开发教程视频wordpress lightsns
  • wordpress 消耗 资源seo统计
  • 东莞市网站建设创建网络平台
  • 如何下wordpress广州搜索排名优化
  • 住房与城乡建设部网站注册中心太原网站公司哪家好
  • 网站开发与制作论文开题建站产品
  • 北京企业建设网站公司房产信息门户网站建设方案
  • wordpress制作网站模板企业招标信息发布平台