java-对序号的校验

// 对序号进行验证
// 要求: 非0;正整数;非空;不能重复
// 备注: 由于每个企业都会有自己的工具类,因此在此呢,给大家也是提供一个思路,


String no = dto.getAsString("no");
String ...

// 注意:校验时字段校验顺序要和表格顺序一直,按照表格顺序从左至右校验
// 校验序号是否为空
if(StringUtils.isEmpty(no)){
    dto.put("result","错误的提示信息...");
    // 校验玩序号,一定要return dto;否则方法不会停止,还会继续校验,进而覆盖上面的错误提示信息,造成明明已经校验,但是却没有起作用的现象.
    return dto;    
}

// 通过正则对序号进行校验
if(no!=null&&!"".equals(no)){
    String regExg = "^[1-9]\\d*$";    // 用正则判断所有非空非正整数的情况
    Pattern p;
    Matcher m;
    p = Pattern.compile(regExg);
    m = p.matcher(no);
    if(m.matches()){                // 正则表达式matches()方法只有在完全匹配时返回true,匹配不上和部分匹配都返回false
        // do nothing                   正则表达式find()   方法在部分匹配和完全匹配时返回true,匹配不上返回false;
    }else{
        dto.put("result","错误的提示信息...");
        return dto;
    }
}

// 判断序号是否重复
for(int i = 0;i <list.size();i++){
    String rowNum1 = list.get(i).get("rowNum").toString();
    String sequenceNumber = list.get(i).get("no").toString();
    if(sequenceNumber != null && !"".equals(sequenceNumber)){
        if((!rowNum.equals(rowNum1))&&(sequenceNumber.equals(no))){
            dto.put("result","序号重复...")
            return dto;
        }
    }
}

猜你喜欢

转载自www.cnblogs.com/Night-Watch/p/9549138.html