fastadmin框架自带的数据效验

简介: fastadmin框架自带的数据效验

一、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等,通过设置规则和错误提示信息来实现验证。
  1. 后端验证:
  • 使用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('添加成功');
     }


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

相关文章
|
7月前
fastadmin框架中的重定向
fastadmin框架中的重定向
|
5月前
|
前端开发 JavaScript Java
文本----简单编写文章的方法(中),后端接口的编写,自己编写好页面就上传到自己的服务器上,使用富文本编辑器进行编辑,想写好一个项目,先分析一下需求,再理一下实现思路,再搞几层,配好参数校验,lomb
文本----简单编写文章的方法(中),后端接口的编写,自己编写好页面就上传到自己的服务器上,使用富文本编辑器进行编辑,想写好一个项目,先分析一下需求,再理一下实现思路,再搞几层,配好参数校验,lomb
|
6月前
|
存储 安全 关系型数据库
安全开发-PHP应用&留言板功能&超全局变量&数据库操作&第三方插件引用&后台模块&Session&Cookie&Token&身份验证&唯一性
安全开发-PHP应用&留言板功能&超全局变量&数据库操作&第三方插件引用&后台模块&Session&Cookie&Token&身份验证&唯一性
|
数据安全/隐私保护
fastadmin中写接口是时Validate规则验证自定义如何用
fastadmin中写接口是时Validate规则验证自定义如何用
261 0
|
7月前
|
前端开发
fastadmin框架重定向
fastadmin框架重定向
90 0
fastadmin框架重定向
|
存储 中间件 API
fastadmin框架token验证
fastadmin框架token验证
335 0
|
前端开发
fastadmin框架怎么重定向至后台模块
fastadmin框架默认打开指向的是前端index模块部分的页面,有时我们需要切换至后台非常复杂,这时就需要进行一下重定向。
270 0
|
安全 API 数据安全/隐私保护
在编写API接口的技术文章时应注意的内容
编写API接口技术文章时建议包含的内容,通过清晰的说明和示例,可以帮助读者准确理解和使用API接口。
|
中间件 开发工具 数据库
协同开发时巧用gitignore | 巧用中间件 避免网络请求时携带登录信息
今天分享一下:在多人协同开发中,如果大家都进行本地测试可能会出现的问题。
120 4
|
测试技术
接口测试平台代码实现121:cookie持久化-4
上节我们成功搞定了普通接口调用登陆态cookie保持会话的后台逻辑,本节我们要去搞用例库相关的逻辑。
接口测试平台代码实现121:cookie持久化-4