fastadmin框架自带的数据效验

2023-11-29 22:04

本文主要是介绍fastadmin框架自带的数据效验,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、fastadmin框架介绍:

注意:

二、fastadmin框架自带效验 

三、引用方式:

1.引用:

2.使用案例:


一、fastadmin框架介绍:

FastAdmin是基于ThinkPHP和Bootstrap开发的一款开源后台管理系统框架。它提供了丰富的功能模块和扩展,可以帮助开发者快速构建高效、灵活的后台管理系统。

以下是FastAdmin框架的主要特点和功能:

  1. 基于ThinkPHP:FastAdmin框架采用了流行的PHP框架ThinkPHP作为底层开发框架,具有良好的可扩展性和稳定性。

  2. 后台模板:FastAdmin内置了多套精美的后台管理系统模板,支持自定义主题风格,方便开发者根据需求进行界面定制。

  3. 后台权限管理:FastAdmin提供了完善的后台权限管理功能,包括角色管理、用户管理、权限设置等,可以灵活控制用户对系统功能和数据的访问权限。

  4. 插件机制:FastAdmin支持插件机制,可以方便地引入第三方插件扩展系统功能,例如文件上传、数据导出、验证码等。

  5. 快速生成代码:FastAdmin集成了代码生成器,可以根据数据库表结构快速生成CURD代码,减少重复劳动,提高开发效率。

  6. 接口开发支持:FastAdmin框架支持API接口开发,可以方便地构建前后端分离的应用,并提供了接口文档自动生成功能。

  7. 多语言支持:FastAdmin支持多语言功能,可以根据用户设置切换不同的语言显示,方便国际化应用开发。

  8. 数据库管理工具:FastAdmin集成了数据库管理工具,可以方便地进行数据库备份、优化和修复等操作。

  9. 完善的扩展机制:FastAdmin框架提供了丰富的扩展接口和插件机制,开发者可以根据需求进行二次开发和功能扩展。

总体而言,FastAdmin框架是一个功能强大、易用灵活的后台管理系统框架,适用于各种规模的项目开发。它具有丰富的功能模块和良好的扩展性,可以大大缩短开发周期,提高开发效率。

FastAdmin框架提供了多种数据验证的方式,包括前端验证和后端验证。

  1. 前端验证:

    • 使用HTML5提供的表单验证功能,例如requiredminlengthmaxlengthpattern等属性。
    • 使用JavaScript库,如jQuery Validate、layui form等,通过设置规则和错误提示信息来实现验证。
  2. 后端验证:

    • 使用FastAdmin框架内置的验证器(Validator)进行数据验证。可以在控制器(Controller)中使用验证器对用户提交的数据进行验证。例如:
// 在控制器方法中进行验证
public function save()
{// 定义验证规则$rules = ['name' => 'require|max:20','email' => 'require|email','age' => 'number|between:18,60',];// 定义错误提示信息$messages = ['name.require' => '姓名必填','name.max' => '姓名最多20个字符','email.require' => '邮箱必填','email.email' => '邮箱格式不正确','age.number' => '年龄必须是数字','age.between' => '年龄只能在18到60之间',];// 进行验证$result = $this->validate(input(), $rules, $messages);if ($result !== true) {// 验证未通过,输出错误信息return json(['code' => 0, 'msg' => $result]);}// 验证通过,继续处理业务逻辑// ...
}

注意:

上述代码中的input()函数是FastAdmin框架提供的全局函数,用于获取用户提交的数据。

另外,FastAdmin框架还支持自定义验证规则、扩展验证器等功能,可以根据具体需求进行配置和使用。

二、fastadmin框架自带效验 

FastAdmin框架是基于ThinkPHP开发的后台管理系统框架,它内置了一些常用的数据验证规则,可以在控制器中使用这些规则对用户提交的数据进行有效性验证。以下是FastAdmin框架自带的常用数据验证规则示例:

1.必填验证:'require',表示字段必须填写。

'字段名' => 'require'

2.数字验证:'number',表示字段必须为数字。

'字段名' => 'number'

3.整数验证:'integer',表示字段必须为整数。

'字段名' => 'integer'

4.浮点数验证:'float',表示字段必须为浮点数。

'字段名' => 'float'

5.数字范围验证:'between:起始值,结束值',表示字段必须在指定的范围内。

'字段名' => 'between:1,100'

6.字符长度验证:'length:最小长度,最大长度',表示字段的字符长度必须在指定的范围内。

'字段名' => 'length:3,10'

7.字符串验证:'alpha',表示字段必须为纯字母字符串。

'字段名' => 'alpha'

 8.数字和字母验证:'alphaNum',表示字段必须为数字和字母组合。

'字段名' => 'alphaNum'

 9.手机号码验证:'mobile',表示字段必须为合法的手机号码格式。

'字段名' => 'mobile'

 10.邮箱验证:'email',表示字段必须为合法的邮箱地址格式。

'字段名' => 'email'

 以上是FastAdmin框架自带的一些常用数据验证规则示例,你可以根据具体的需求选择合适的规则进行数据验证。在控制器中使用时,可以通过$this->validate($data, $rules)方法进行验证,其中$data为待验证的数据数组,$rules为验证规则数组。

11.URL验证:'url',表示字段必须为合法的URL地址格式。

'字段名' => 'url'

12.IP地址验证:'ip',表示字段必须为合法的IP地址格式。

'字段名' => 'ip'

13.正则表达式验证:'regex:正则表达式',表示字段必须匹配指定的正则表达式。

'字段名' => 'regex:/^\d{6}$/'

 14.枚举值验证:'in:值1,值2,值3',表示字段必须在指定的值列表中。

'字段名' => 'in:男,女'

15.邮政编码验证:'zip',表示字段必须为合法的邮政编码格式。

'字段名' => 'zip'

16.身份证号码验证:'idCard',表示字段必须为合法的身份证号码格式。

'字段名' => 'idCard'

 17.日期格式验证:'date',表示字段必须为合法的日期格式。

'字段名' => 'date'

这些是FastAdmin框架常用的数据验证规则示例,您可以根据具体的业务需求选择适合的规则进行数据验证。记得在控制器中使用$this->validate($data, $rules)方法进行验证,其中$data为待验证的数据数组,$rules为验证规则数组。希望对您有所帮助!

三、引用方式:

1.引用:

use think\Validate;

2.使用案例:

 public function add(){if(!$this->request->isPost())$this->error('请求失败,请使用POST方式请求');$data = ['custom_id'=>$this->request->post('custom_id'), //客户id'name'=>$this->request->post('name'), //客户名称'tel'=>$this->request->post('tel'), //联系方式'sex'=>$this->request->post('sex'), //性别 0女 OR 1男'contact_WX'=>$this->request->post('contact_WX'), //联系人WX'contact_QQ'=>$this->request->post('contact_QQ'), //联系人QQ'contact_email'=>$this->request->post('contact_email'), //联系人邮箱'title'=>$this->request->post('title'), //称谓'department'=>$this->request->post('department'), //部门'position'=>$this->request->post('position'), //职位'create_time' => time(),];$role = ['custom_id' => 'require','name' => 'require|max:20',// 'tel' => 'require|regex:/^1\d{10}$/','tel' => 'require|regex:/^1\d{10}$/','sex' => 'require|between:0,1','contact_email' => 'require|email','title'=>'require','department'=>'require',];$msg = ['custom_id.require'=>'缺少参数custom_id','name.require'=>'缺少参数name','name.max'=>'名字最大20个字','tel.require'=>'缺少参数tel','tel.regex'=>'手机号码格式错误','sex.require'=>'缺少参数sex','sex.between'=>'参数仅为0 OR 1','contact_email.require'=>'缺少参数contact_email','contact_email.email'=>'邮件格式错误','title.require'=>'缺少参数title','department.require'=>'缺少参数department',];$validate = new Validate($role,$msg);   //$role效验规则   $msg规则错误时返回if(!$validate->check($data))$this->error($validate->getError());if(!db('contact')->insert($data))$this->error('添加失败');$this->success('添加成功');}

以上是常用的效验规则,如想查看更多可见相关文档。

这篇关于fastadmin框架自带的数据效验的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/434473

相关文章

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

MyBatisPlus如何优化千万级数据的CRUD

《MyBatisPlus如何优化千万级数据的CRUD》最近负责的一个项目,数据库表量级破千万,每次执行CRUD都像走钢丝,稍有不慎就引起数据库报警,本文就结合这个项目的实战经验,聊聊MyBatisPl... 目录背景一、MyBATis Plus 简介二、千万级数据的挑战三、优化 CRUD 的关键策略1. 查

python实现对数据公钥加密与私钥解密

《python实现对数据公钥加密与私钥解密》这篇文章主要为大家详细介绍了如何使用python实现对数据公钥加密与私钥解密,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录公钥私钥的生成使用公钥加密使用私钥解密公钥私钥的生成这一部分,使用python生成公钥与私钥,然后保存在两个文

mysql中的数据目录用法及说明

《mysql中的数据目录用法及说明》:本文主要介绍mysql中的数据目录用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、版本3、数据目录4、总结1、背景安装mysql之后,在安装目录下会有一个data目录,我们创建的数据库、创建的表、插入的

Spring 框架之Springfox使用详解

《Spring框架之Springfox使用详解》Springfox是Spring框架的API文档工具,集成Swagger规范,自动生成文档并支持多语言/版本,模块化设计便于扩展,但存在版本兼容性、性... 目录核心功能工作原理模块化设计使用示例注意事项优缺点优点缺点总结适用场景建议总结Springfox 是

Navicat数据表的数据添加,删除及使用sql完成数据的添加过程

《Navicat数据表的数据添加,删除及使用sql完成数据的添加过程》:本文主要介绍Navicat数据表的数据添加,删除及使用sql完成数据的添加过程,具有很好的参考价值,希望对大家有所帮助,如有... 目录Navicat数据表数据添加,删除及使用sql完成数据添加选中操作的表则出现如下界面,查看左下角从左

SpringBoot中4种数据水平分片策略

《SpringBoot中4种数据水平分片策略》数据水平分片作为一种水平扩展策略,通过将数据分散到多个物理节点上,有效解决了存储容量和性能瓶颈问题,下面小编就来和大家分享4种数据分片策略吧... 目录一、前言二、哈希分片2.1 原理2.2 SpringBoot实现2.3 优缺点分析2.4 适用场景三、范围分片

Redis分片集群、数据读写规则问题小结

《Redis分片集群、数据读写规则问题小结》本文介绍了Redis分片集群的原理,通过数据分片和哈希槽机制解决单机内存限制与写瓶颈问题,实现分布式存储和高并发处理,但存在通信开销大、维护复杂及对事务支持... 目录一、分片集群解android决的问题二、分片集群图解 分片集群特征如何解决的上述问题?(与哨兵模

浅析如何保证MySQL与Redis数据一致性

《浅析如何保证MySQL与Redis数据一致性》在互联网应用中,MySQL作为持久化存储引擎,Redis作为高性能缓存层,两者的组合能有效提升系统性能,下面我们来看看如何保证两者的数据一致性吧... 目录一、数据不一致性的根源1.1 典型不一致场景1.2 关键矛盾点二、一致性保障策略2.1 基础策略:更新数

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase