`
陆地小神仙
  • 浏览: 9089 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JFast应用系列之(7) -- 参数验证器概述

阅读更多

    对请求参数进行后端验证:

 

    创建参数验证类:

    

    1.必填验证:

     

    

@Validate(name = "require", description = "验证请求参数不可为null")
public class RequireValidate implements ValidateHandler{
	
	/**
	 * 必填验证
	 */
	@Override
	public void handleValidate(ApiInvocation invoke, String paramName, Object value) throws Exception {
		Assert.notNull(value);
	}
	
	/**
	 * 渲染验证失败的返回视图
	 */
	@Override
	public void handleError(ApiInvocation invoke, Exception validateError) {
		invoke.renderException(new Json("{error:'"+validateError.getMessage()+"'}"));             
        }

}

   

    2.邮箱验证:

    

     

@Validate(name = "email", description = "邮箱格式验证")
public class EmailValidate implements ValidateHandler {

	/**
	 * 邮箱格式验证
	 */
	@Override
	public void handleValidate(ApiInvocation invoke, String paramName, Object value) throws Exception {
		  String check = "^([a-z0-9A-Z]+[-|_|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
		  Pattern regex = Pattern.compile(check);
		  Matcher matcher = regex.matcher((String)value);
		  Assert.isTrue(matcher.matches(),"请填写正确邮箱");
	}
	
	/**
	 * 渲染验证失败的返回视图
	 */
	@Override
	public void handleError(ApiInvocation invoke, Exception validateError) {
		invoke.renderException(new Json("{error:'"+validateError.getMessage()+"'}"));        
	}

}

    

    控制器中调用参数验证:

 

    

@Get(path = "email")
public void validate(@HttpParam(validate={"require","email"}) String email){
		
}

 

0
1
分享到:
评论

相关推荐

    JFast应用系列之(1) -- Java Restful 服务端 项目搭建

    NULL 博文链接:https://jfast.iteye.com/blog/2236781

    JFast开发手册1

    JFast开发手册1 JFast开发手册1是基于JFinal+LayUI+MySQL的轻量级快速开发平台,旨在提供一个灵活、高效、易用的开发框架,帮助开发者快速生成演示Demo系统,并且可以轻松地将其变成可交付实施的软件系统。 1. ...

    jFAST - the Finite Automata Simulator-开源

    jFAST是一个简单的有限自动机(FA)图形仿真实用程序; 它旨在具有用于创建,编辑和模拟FA的简单机制。 jFAST是学生,教师和自导探索者的理想选择。

    jfast快速开发平台-其他

    JFast是一套轻量级的快速开发平台,集业务建模和代码生成于一身的基础框架,按照框架规范,可快速生成一套演示Demo系统,稍微改造即可变成一套可交付实施的软件系统。 本平台的核心采用JFinal+LayUI+MySQL的组合,轻...

    Orange-JFast-开源

    在实际应用中,Orange-JFast 可能被金融机构用于构建市场数据分发系统、实时交易监控平台或是大数据分析工具。由于其开源特性,开发者可以根据自己的需求对其进行扩展,例如添加对其他金融协议的支持,或者优化特定...

    jfast快速开发平台 v1.2.zip

    "jfast快速开发平台 v1.2.zip" 是一个用于快速构建Web应用系统的软件工具,主要面向开发者和系统集成者,旨在提高开发效率并降低项目实施的复杂度。该平台可能包含一系列模块化的设计,允许用户根据需求选择合适的...

    archive_ jfast快速开发平台 v1.2 [江西新余电信].zip.zip

    5. **用户界面(UI)构建器**:为了简化前端开发,jfast可能提供了可视化界面构建器,让非专业前端开发者也能快速创建和定制用户界面。 6. **版本控制与协作**:为了便于团队合作,该平台可能集成了Git或其他版本...

    JFast是一套轻量级的快速开发平台,集业务建模和代码生成于一身的基础框架,按照框架规范,可快速生成_jfast.zip

    JFast是一套轻量级的快速开发平台,集业务建模和代码生成于一身的基础框架,按照框架规范,可快速生成_jfast

    jFAST:此存储库包含 RingBufferLogger 的第一个版本

    默认情况下,这个记录器将从内部环形缓冲区(在单独的线程中)读取消息并将它们写入标准错误输出流(就像 SimpleLogger 所做的那样)。 要实例化 RingBufferLogger,请使用以下方法链: Logger logger = ...

Global site tag (gtag.js) - Google Analytics