数据校验

SpringBoot入门二十二,使用Validation进行参数校验

半腔热情 提交于 2020-01-15 17:53:27
  项目基本配置参考文章 SpringBoot入门一,使用myEclipse新建一个SpringBoot项目 ,使用myEclipse新建一个SpringBoot项目即可,此示例springboot升级为2.2.1版本。   1. pom.xml添加aop支持 如果已经引用了spring-boot-starter-web,就不要需要引用spring-boot-starter-validation了,本例就不再引用 <!-- 引入validation支持 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency> 2. 创建接口 分组使用,不分组的话,不需要创建接口,可直接跳过此步 import javax.validation.GroupSequence; public class ToolInterface { // 新增使用(配合spring的@Validated功能分组使用) public interface insert{} // 更新使用(配合spring的@Validated功能分组使用) public interface update{} //

Django rest framework动态校验字段类型

▼魔方 西西 提交于 2020-01-15 17:05:49
重写is_valid动态校验参数 有了 动态返回字段 怎么能没有 动态的校验字段! 看了半天Serializer的实现代码,终于捣鼓出来了动态校验字段的方式,该方法还是自己测试阶段,没有开始实际应用,有什么问题请大家及时反馈,我这里实际使用过以后也会更新本篇的内容。 更新:已经实际应用了,暂时没有发现问题。 使用方法 调用serializers:传入的context可以在is_valid中获得 context = { "data" : { "name" : "rename" , "valid" : "CharField(required=True)" } } # 调用校验,传入的context可以在is_valid中获得 DataSerializer ( data = validated_data , context = context ) . is_valid ( True ) 数据校验serializers:重写is_valid修改 _declared_fields ,然后继续使用原有的方法校验 from rest_framework . serializers import Serializer from rest_framework . fields import CharField class DataSerializer ( Serializer ) : name =

Vue.js 表单校验插件

回眸只為那壹抹淺笑 提交于 2020-01-15 00:51:19
Vuerify 是一个简单轻量的数据校验插件。内置基础的校验规则和错误提示。可自定义规则,规则类型支持正则、函数或者字符串。校验规则可全局注册也可以组件内注册。插件会给 vm 添加 $vuerify 对象,同时 watch 数据并校验合法性,如果有错误会存入 vm.$vuerify.$errors。 安装 npm i vuerify -S 使用 安装插件 import Vue from 'vue' import Vuerify from 'vuerify' Vue.use(Vuerify, /* 添加自定义规则 */) 添加自定义规则 test 可以是正则或者函数 { required: { test: /\S+$/, message: '必填项' } } 组件内注册 { data () { username: '', password: '' }, vuerify: { username: { test: /\w{4,}/, // 自定义规则,可以是函数,正则或者全局注册的规则(填字符串) message: '至少 4 位字符' }, password: 'required' // 使用全局注册的规则 } } API $vuerify 包含如下属性 name description type default Value $errors 数据校验失败的错误信息, 例如

django之forms组件和cookie与session操作

不问归期 提交于 2020-01-14 00:43:40
目录 django之forms组件和cookie与session操作 forms组件 forms主要功能 普通方式手写注册功能 views.py login.html forms组件 先定义一个类和导入: 如何校验数据 如何渲染页面的三种方法 如何渲染错误信息 label 将英文修改成中文 校验:邮箱格式是否正确 forms的常用参数 钩子函数: 全局钩子 局部钩子 正则简单用法: 基于使用form组件实现注册功能 views.py login2.html cookie与session操作 Cookie的介绍 什么是Cookie Cookie的原理 查看Cookie Django中操作Cookie Cookie 获取Cookie Session 保存在服务端上的键值对 设置会话Session和Cookie的超时时间 删除当前会话的所有Session数 验证以上cookie和session的代码 装饰器模板 views.py 登录功能 views.py urls.py html django之forms组件和cookie与session操作 forms组件 forms主要功能 生成页面可用的HTML标签 对用户提交的数据进行校验 保留上次输入内容 注意点: 注册页面: 用户点击注册发送到后端做用户名密码的校验。 用户不能含敏感词,不符合社会主义核心价值观。 密码不能为空。 需求:

Django之Form

末鹿安然 提交于 2020-01-13 19:25:50
Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确。如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误信息.。 Django form组件就实现了上面所述的功能。 总结一下,其实form组件的主要功能如下: 生成页面可用的HTML标签 对用户提交的数据进行校验 保留上次输入内容 普通方式手写注册功能 views.py # 注册 def register(request): error_msg = "" if request.method == "POST": username = request.POST.get("name") pwd = request.POST.get("pwd") # 对注册信息做校验 if len(username) < 6: # 用户长度小于6位 error_msg = "用户名长度不能小于6位" else: # 将用户名和密码存到数据库 return HttpResponse("注册成功") return render(request, "register.html", {"error_msg": error_msg}) login.html <!DOCTYPE

0108 luffy登录注册接口

北慕城南 提交于 2020-01-12 21:55:02
目录 昨日回顾 luffy后台 验证手机号是否已注册 使用手机号与验证码注册 luffy前台 登录模态框 注册模态框 用户模块三大认证处理 前后台交互 登录 前台登录手机号校验 前台获取验证码 前台短信验证码登录 前台登录注销 前台密码登录 注册 验证码的一次性处理 昨日回顾 1、git的协同操作 1)拿公钥换源远程仓库源链接 - 成为项目开发者 2)根据源链接克隆远程仓库 - git clone 源地址 3)参与项目的团队开发,永远要遵循 先pull后push,在pull之前要将所有修改的代码提交到本地版本库 2、冲突解决 1)当不同开发者协同开发,导致远程仓库与本地仓库的版本不一致,在pull远程仓库到本地仓库时,会出现版本冲突 2)两个仓库不同版本中,出现了相同文件的修改情况,会出现文件的冲突 3)同一文件的修改,代码有重叠,一定会产生代码冲突,打开冲突的文件,文件中会表示冲突的开始与结束,分割线上下分别是冲突的代码 >>>>>>>>>>header =========== <<<<<<<<<<1321adsa21 4)冲突的解决没有固定的结果,但是要将冲突的标识删除,根据代码实际情况,线下沟通,整合代码即可 3、登录业务 1)多方式登录 2)短信验证码 腾讯短信服务 - 创建短信服务应用(appid、appkey),申请签名与模板 -- 安装对应sdk --

Apache Rocketmq 权限控制(七)

萝らか妹 提交于 2020-01-10 14:02:53
权限控制 1.权限控制特性介绍 权限控制(ACL)主要为RocketMQ提供Topic资源级别的用户访问控制。用户在使用RocketMQ权限控制时,可以在Client客户端通过 RPCHook注入AccessKey和SecretKey签名;同时,将对应的权限控制属性(包括Topic访问权限、IP白名单和AccessKey和SecretKey签名等)设置在distribution/conf/plain_acl.yml的配置文件中。Broker端对AccessKey所拥有的权限进行校验,校验不过,抛出异常; ACL客户端可以参考: org.apache.rocketmq.example.simple 包下面的 AclClient 代码。 2. 权限控制的定义与属性值 2.1权限定义 对RocketMQ的Topic资源访问权限控制定义主要如下表所示,分为以下四种 权限 含义 DENY 拒绝 ANY PUB 或者 SUB 权限 PUB 发送权限 SUB 订阅权限 2.2 权限定义的关键属性 字段 取值 含义 globalWhiteRemoteAddresses *;192.168.*.*;192.168.0.1 全局IP白名单 accessKey 字符串 Access Key secretKey 字符串 Secret Key whiteRemoteAddress *;192.168.*.*

c3p0,DBcp,Druid三大连接池

一世执手 提交于 2020-01-09 04:20:34
配置dbcp数据源 <!--配置数据源 datasource 使用dbcp数据库连接池--> < bean id = " dataSource " class = " org.apache.commons.dbcp.BasicDataSource " > < property name = " driverClassName " value = " ${jdbc.driver} " > </ property > < property name = " url " value = " ${jdbc.url} " > </ property > < property name = " username " value = " ${jdbc.username} " > </ property > < property name = " password " value = " ${jdbc.password} " > </ property > <!--初始化时 连接个数 默认是0--> < property name = " initialSize " value = " 5 " /> <!--同时连接的最大活动数 默认是8--> < property name = " maxActive " value = " 100 " /> <!--允许最大空闲数 不能配置太小--> <

Mockito

泪湿孤枕 提交于 2020-01-08 19:36:04
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 前言 在多个成员协同开发的时候,有没有遇到过类似这样的情况: A成员在开发某个接口但是没有完成,而B恰好依赖于A,在不了解Mockito的情况下只能等待A完成之后才可以自测,完全受制于他人,不知你是否想过怎么摆脱这样一个尴尬的场景,下面咱们就根据这样一个场景来做具体讲述。 目录 什么是Mockito? 为什么需要模拟? 有哪些需要注意的关键点? 如何Mock? 结合Junit使用 注意事项 正文 1. 什么是Mockito? Mockito是一个单元测试框架,封装了简洁易用的API,对于新手来说也可以很容易的入门,同时在我们编写单元测试的时候还可以以锻炼我们的逻辑思维能力。 2. 为什么需要模拟? 原因一: 在我们实际程序开发中经常遇到下图这种类与类之间的层级依赖: 正如前言所说,假设ImageService还未开发完毕,此时我们的开发将受限于他人 原因二: 在我们写单元测试的时候,业务层的数据大多数人都是从数据库读取,假设某位同事把数据不小心删除了,那我们的单元测试就有可能出问题。专业的说法就是:数据与应用隔离 原因三: 锻炼我们的逻辑思维能力,为什么这么说呢?在我们写Mock单元测试的时候,你必须了解你的逻辑,对你的逻辑做一些验证,比如说测试A服务的时候调用B,需要在调用B服务的时候做参数抓取校验

MySQL 字符集和校验规则工作流程

一曲冷凌霜 提交于 2020-01-07 20:40:34
MySQL 字符集和校验规则工作原理 字符编码相关参数 数据流中的转码过程 校验规则 Tips:字符集和校验规则总是相伴的 一 从简单的建库语句开始 CREATE DATABASE [IF NOT EXISTS] <db_name> [[DEFAULT] CHARACTER SET <db_charset>] [[DEFAULT] COLLATE <db_collation>]; db_name : 数据库名 必填 db_charset:数据库的字符集 缺省为服务器字符集 db_collation:数据库的校验规则 缺省为服务器校对规则 二 字符集和字符编码是什么? 字符编码:将特定的字符与二进制码建立一一映射的集合就是字符集。每种字符集对应该种字符集的编码方式。 常见的字符集有 仅支持英文和特殊字符的ASCII、支持中英文的GBK、支持世界所有字符的Unicode等等<UTF-8是Unicode字符集的子集,他们不是两种编码方式>。 以ASCII字符集为例 它基于罗马字母表的编码方式,他不能表示中文仅仅包含了 全部的英文大小写和为数不多的特殊符号,每个字符一个字节低7位为编码位最高位保留,有些地方最高位做了扩充。增添了一些表格符号、运算符等。总而言之1个字节 8bit 表示一个字符,因为一一对应,所有一共有 2^7个字符。扩展字符集拥有2^8。 三 查看MySQL编码方式