校验

SpringMVC 的 Validation 校验

南楼画角 提交于 2021-02-11 12:47:18
1、maven配置文件引入架包: <!-- SpringMVC --> <dependency> ... </dependency> <!-- SpringMVC中用到了Hibernate的Validator包 --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>5.1.3.Final</version> </dependency> 2、常用Bean对象的注释 @NotBlank 不为空或空字符串 @NotNull 不为空 @Size(min, max) 字符串长度 @Email 邮箱格式 @Pattern(regexp) 正则表达式匹配 注释用法: public class LoginParam { private String user; private String password; @NotBlank(message = "用户不能为空") @Size(min = 5, max = 20, message = "用户长度范围为5-20个字符") public String getUser() { return user; } public void setUser(String user) { this.user =

中国大陆身份证校验

人走茶凉 提交于 2020-04-21 05:55:40
function checkIDCard(value){//验证中国居民身份证 var _a=/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/;//验证身份证15位 var _b=/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})([0-9xX])$/;//验证身份证18位 var l=value.length; var re; if (l!=15&&l!=18){ console.log('身份证号码位数不对'); return false; }else if (l==15){ re = new RegExp(_a); }else{ re = new RegExp(_b); }; var idcard_array = new Array(); idcard_array = value.split(""); var options={area:{ 11: "北京", 12: "天津", 13: "河北", 14: "山西",15: "内蒙古", 21: "辽宁", 22: "吉林", 23: "黑龙江", 31: "上海",32: "江苏", 33: "浙江", 34: "安徽", 35: "福建", 36: "江西",37: "山东", 41: "河南", 42: "湖北", 43: "湖南", 44: "广东"

设计模式之外观模式

时光毁灭记忆、已成空白 提交于 2020-03-05 23:18:42
定义 又叫门面模式,提供了一个统一的接口,用来访问子系统中的一群接口。 外观模式定义了一个高层接口,让子系统更容易使用。 类型 结构型 适用场景 ①、子系统越来越复杂,增加外观模式提供简单调用接口。 ②、构建多层系统结构,利用外观对象作为每层的入口,简化层间调用。 优缺点 优点: ①、简化了调用过程,无需了解深入子系统,防止带来风险。 ②、减少系统依赖、松散耦合。 ③、更好的划分访问层次。 ④、符合迪米特法则,即最少知道原则。 缺点: ①、增加子系统、扩展子系统行为容易引入风险。 ②、不符合开闭原则。 代码实现 案例:用户需要在支付宝的会员中心,通过支付积分兑换商品,则兑换流程大致是:校验商品库存–>积分校验–>积分支付–>生成物流。上面四个流程可以分别看做子系统,将这四个流程的逻辑封装为一个商品兑换的外观类。 首先创建一个商品类: public class Product { private String name ; public Product ( String name ) { this . name = name ; } public String getName ( ) { return name ; } public void setName ( String name ) { this . name = name ; } } 这里只记录了商品的name属性

ASP.NET MVC 5

风流意气都作罢 提交于 2019-12-21 17:42:03
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在本节中将会给Movie模型添加验证逻辑。并且确保这些验证规则在用户创建或编辑电影时被执行。 拒绝重复DRY ASP.NET MVC 的核心设计信条之一是DRY: "不要重复自己( DRY --Don’t Repeat Yourself)"。ASP.NET MVC鼓励您指定功能或者行为,只做一次,然后将它应用到应用程序的各个地方。这可以减少您需要编写的代码量,并减少代码出错率,易于代码维护。 给ASP.NET MVC 和 Entity Framework Code First 提供验证支持是 DRY 信条的一次伟大实践。您可以在一个地方 (模型类) 中以声明的方式指定验证规则,这个规则会在应用程序中的任何地方执行。 让我们看看您如何在本电影应用程序中,使用此验证支持。 给电影模型添加验证规则 您将首先向 Movie 类添加一些验证逻辑。 打开 Movie.cs 文件,注意到System.Web 命名空间并未包含 System.ComponentModel.DataAnnotations . DataAnnotations提供了一组内置的严重属性,可供您应用于类、属性。(DataAnnotations也包含一个 DataType 属性,来帮助格式化的办法来校验) 更新 Movie 类,以利用内置的

Guava库学习:学习使用Preconditions工具类进行代码的校验

房东的猫 提交于 2019-12-15 23:49:02
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 链接地址: http://www.xx566.com/detail/127.html Preconditions是guava提供的用于进行代码校验的工具类,其中提供了许多重要的静态校验方法,用来简化我们工作或开发中对代码的校验或预 处理,能够确保代码符合我们的期望,并且能够在不符合校验条件的地方,准确的为我们显示出问题所在,接下来,我们就来学习使用Preconditions 进行代码校验。 翻开Preconditions的源码,我们看到,guava进行了大量方法的重载,组成了Preconditions工具类,下面我们先简单的了解一下,所有的14个静态方法,如下: checkArgument(boolean expression):用来校验表达式是否为真,一般用作方法中校验参数 checkArgument(boolean expression, @Nullable Object errorMessage):校验表达式是否为真,不为真时显示指定的错误信息。 checkArgument(boolean expression, @Nullable String errorMessageTemplate, @Nullable Object... errorMessageArgs):校验表达式是否为真,不为真时显示错误信息

Struts2的学习笔记(2)

£可爱£侵袭症+ 提交于 2019-12-02 21:03:56
学了一阵子的struts2,感觉收获挺大的。对于校验这一块内容,只有更深入的了解,才能体会到它的灵活所在! 1 、 Action 中的自定义方法的输入校验。对于通过 action 的 method 属性所指定的自定义方法,其对应的自定义输入校验方法名为 validateMyExecute (假设自定义的方法名为 myExecute )。底层是通过反射来调用的。 2 、当在 Action 中指定了自定义的 execute 方法时,首先会执行自定义的 execute 方法所对应的输入校验方法,然后再去执行 validate 方法,执行完毕后如果出现了任何错误都不会再去执行自定义的 execute 方法,流程转向了 input 这个名字所对应的页面上。 3 、自定义 Field 级别的错误提示消息。 1 )新建一个以 Action 名命名的 properties 文件,如 RegisterAction.properties 。 2 )然后在该属性文件中指定每一个出错字段的错误消息,如: Invalid.fieldvalue .bithday= birthday invalid!! 4 、 Struts2 的检验框架(有效的 xml 文件)。具体来说分为字段优先校验器与校验器优先校验器。 5 、校验日期时,同时采用 execute() 与框架校验,若时间范围不在 execute()

springmvc学习笔记(14)-springmvc校验

半世苍凉 提交于 2019-12-02 06:37:12
springmvc学习笔记(14)-springmvc校验 标签: springmvc [TOC] 本文主要介绍springmvc校验,包括环境准备,校验器配置,pojo张添加校验规则,捕获和显示检验错误信息以及分组校验简单示例。 校验理解 项目中,通常使用较多是前端的校验,比如页面中js校验。对于安全要求较高点建议在服务端进行校验。 服务端校验: 控制层conroller:校验页面请求的参数的合法性。在服务端控制层conroller校验,不区分客户端类型(浏览器、手机客户端、远程调用) 业务层service(使用较多):主要校验关键业务参数,仅限于service接口中使用的参数。 持久层dao:一般是不校验的。 springmvc校验需求 springmvc使用hibernate的校验框架validation(和hibernate没有任何关系)。 校验思路: 页面提交请求的参数,请求到controller方法中,使用validation进行校验。如果校验出错,将错误信息展示到页面。 具体需求: 商品修改,添加校验(校验商品名称长度,生产日期的非空校验),如果校验出错,在商品修改页面显示错误信息。 环境准备 我们需要三个jar包: hibernate-validator.jar jboss-logging.jar validation-api.jar 这里我们添加maven依赖 <