校验接⼝的必输,字段长度的⼯具类
package com.nantian.cld.svc.util;
SimpleDateFormat;
import java.util.Map;
/**
* ClassName: ValidateUtil <br/>
* Date: 2019年04⽉17⽇10:00:00 <br/>
* Description:校验接⼝字段长度,必输的⼯具类<br/>
*
* @author luzhenggen
* @param <E>
* @history Date Author Desc<br/>
* 2019年04⽉17⽇10:00:00 luzhenggen 新增类<br/>
* @since JDK 1.8<br/>
* Copyright (c) 2019, ⼴州南天电脑系统有限公司 All Rights Reserved.
*/
public class ValidateUtil {
/**
*
* @param reqList
* 请求报⽂字段值
* @param reqArr
* 请求报⽂字段
* @param reqChinese
* 请求报⽂字段对应的中⽂描述
* @param mustInput
* 必输字段
* @param mustInputChinese
* 必输字段中⽂描述
* @param reqLen
* 报⽂字段约束长度
* @return 校验通过,返回pass,失败返回false_失败原因
*/
public static String validate(Map<String,Object> reqMap, String[] reqArr, String[] reqChinese, String[] mustInput,String[] mustInputChinese, String[] reqLen) {
// 判断必输字段是否必输
if(mustInput!=null) {
for (int i = 0; i < mustInput.length; i++) {
String key = mustInput[i].trim();
Object val = (key);
if (val == null || "".equals(val)) {
// ⾮空校验不通过,获取不通过字段的中⽂描述
String keyChinese = mustInputChinese[i];
return "false_" + keyChinese + "不能为空!";
}
}
}
// 必输字段校验通过后,校验长度是否超长
if(reqArr!=null) {
for (int i = 0; i < reqArr.length; i++) {
String key = reqArr[i].trim();
Object val = (key);
String len = reqLen[i];
String keyChinese = reqChinese[i];
if (val != null && !"".equals(val)) {
if (ains(",")) {
/
/ 包含",",代表是数值型,且有⼩数位数控制
String[] lenArr = len.split(",");
// 最⼤整数长度
int zLen = Integer.parseInt(lenArr[0])-Integer.parseInt(lenArr[1]);
// 最⼤⼩数长度
int xLen = Integer.parseInt(lenArr[1]);
if (String().contains(".")) {
// ⼩数
String[] valArr = String().split("\\.");
// 整数部分值
String zVal = valArr[0];
/
/ ⼩数部分值
String xVal = valArr[1];
if (zVal.length() > zLen || xVal.length() > xLen) {
// 校验失败
return "false_" + keyChinese + "长度超长!";
}
} else {
// 整数
int valLen = String().length();
if (valLen > zLen) {
// 校验失败
return "false_" + keyChinese + "长度超长!";
}
}
} else {
// 为字符串
int valLen = String().length();
if (valLen > Integer.parseInt(len)) {
// 校验失败
return "false_" + keyChinese + "长度超长!";
}
}
}
}
}
return "pass";
}
public static boolean isValidNum(String str) {
boolean convertSuccess = true;
try {
Double.parseDouble(str);
} catch (Exception e) {
// e.printStackTrace();
/
/ 如果ParseException或者NullPointerException,就说明格式不对convertSuccess = false;
字符串长度判断
}
return convertSuccess;
}
public boolean isValidDate(String str) {
boolean convertSuccess = true;
// 指定⽇期格式为四位年/两位⽉份/两位⽇期,注意yyyy/MM/dd区分⼤⼩写;SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
try {
// 设置lenient为false.
// 否则SimpleDateFormat会⽐较宽松地验证⽇期,⽐如2007/02/29会被接受,并转换成2007/03/01 form
at.setLenient(false);
format.parse(str);
} catch (Exception e) {
// e.printStackTrace();
// 如果ParseException或者NullPointerException,就说明格式不对convertSuccess = false;
}
return convertSuccess;
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。