public static <T> int countValidProp(Class<T> clz, Map<String, Object> map) throws BasException {
		if (map != null && map.size() > 0) {
			int count = map.size();
			Set<String> keys = map.keySet();
			Iterator<String> iter = keys.iterator();
			while (iter.hasNext()) {
				String key = iter.next();
				Object value = map.get(key);
				Field f;
				try {
					f = clz.getDeclaredField(key);
				} catch (Exception e) {
					log.error(e.getMessage(), e);
					throw new BasException(BasErrCode.E10020, key);
				}
				if (containExpress(f.getAnnotation(Column.class).name(), value)) {
					count--;
				}
			}
			return count;
		}
		return 0;
	}