一般页面校验以后,还需要服务器进行校验,利用反射进行非空校验
public static boolean checkObjFieldIsNotNull(Object obj) throws IllegalAccessException {
boolean flag = true;
for(Field f : obj.getClass().getDeclaredFields()){
f.setAccessible(true);
if(f.get(obj) == null){
flag = false; return flag;
}
}
return flag;
}
拓展:
有些时候我们希望对一些属性不进行校验
/**
*
* <p>Title: checkObjFieldIsNotNull</p>
* <p>Description: 校验对象属性是否有空值</p>
* @param obj
* @param exceptNames 不需要校验的属性名称
* @return
* @throws IllegalAccessException
*/
public static boolean checkObjFieldIsNotNull(Object obj,List<String> exceptNames) throws IllegalAccessException {
boolean flag = true;
for(Field f : obj.getClass().getDeclaredFields()){
boolean check = true;
if(exceptNames!=null){
for(int i=0;i<exceptNames.size();i++){
if(exceptNames.get(i).equals(f.getName())){
check = false;
break;
}
}
}
if(check){
f.setAccessible(true);
if(f.get(obj) == null){
flag = false; return flag;
}
}
}
return flag;
}