📄 paramchecker.java
字号:
addMsg("err_format", new String[] {ruleStr}); return; } int len = rule.length; if (len < 4) { addMsg("err_format", new String[] {ruleStr}); return; } fieldName = rule[1]; String value = getFieldValue(fieldName); checkFieldDate(ruleStr, value); } public void checkFieldDate(String ruleStr, String value) throws CheckErrException { String fieldName = ""; String type = ""; String fieldDesc = ""; String[] rule = split(ruleStr); if (rule == null) { addMsg("err_format", new String[] {ruleStr}); return; } int len = rule.length; if (len < 4) { addMsg("err_format", new String[] {ruleStr}); return; } type = rule[0]; fieldName = rule[1]; fieldDesc = parseFieldDesc(rule[2]); String NULL = rule[3]; if (value == null || value.equals("")) { if (NULL.equalsIgnoreCase("not")) { addMsg("err_want", new String[] {fieldDesc}); return; } else if (NULL.equals("allow")) ; else if (NULL.equals("current")) { Field f = new Field(fieldName, fieldDesc, new Date(), type); fields.put(fieldName, f); return; } else { addMsg("err_format", new String[] {NULL}); return; } } boolean isValid = true; String format = ""; java.util.Date d = null; for (int i = 4; i < len; i++) { String cond = rule[i].trim(); if (value!=null && !value.equals("")) { if (cond.startsWith("format")) { format = getCondValue(cond); SimpleDateFormat sdf = new SimpleDateFormat( format, SkinUtil.getLocale(request)); try { d = sdf.parse(value); } catch (Exception e) { isValid = false; addMsg("err_format", new String[] {fieldDesc + "=" + value}); } } } } Field f = new Field(fieldName, fieldDesc, d, type); fields.put(fieldName, f); for (int i = 4; i < len; i++) { String cond = rule[i].trim(); if (cond.startsWith("min")) { if (d != null) { char token = cond.charAt(3); if (token == '>') { if (cond.charAt(4) == '=') { String strMin = cond.substring(5, cond.length()). trim(); try { Date min = null; try { min = DateUtil.parse(strMin, format, SkinUtil.getLocale(request)); } catch (Exception e) { addMsg("err_format", new String[] {strMin}); } if (min!=null) { if (DateUtil.compare(d, min) == 1 || DateUtil.compare(d, min) == 0) ; else { isValid = false; addMsg("err_need_more_equal", new String[] {fieldDesc, "" + min}); } } } catch (Exception e) { isValid = false; addMsg("err_format", new String[] {cond}); } } else { String strMin = cond.substring(5, cond.length()). trim(); try { Date min = null; try { min = DateUtil.parse(strMin, format, SkinUtil.getLocale(request)); } catch (Exception e) { addMsg("err_format", new String[] {strMin}); } if (min!=null) { if (DateUtil.compare(d, min) == 1) ; else { isValid = false; addMsg("err_need_more", new String[] {fieldDesc, "" + min}); } } } catch (Exception e) { isValid = false; addMsg("err_format", new String[] {cond}); } } } else { isValid = false; addMsg("err_format", new String[] {cond}); } } } else if (cond.startsWith("max")) { if (d != null) { char token = cond.charAt(3); if (token == '>') { if (cond.charAt(4) == '=') { String strMax = cond.substring(5, cond.length()). trim(); try { Date max = null; try { max = DateUtil.parse(strMax, format, SkinUtil.getLocale(request)); } catch (Exception e) { addMsg("err_format", new String[] {strMax}); } if (max!=null) { if (DateUtil.compare(d, max) == 2 || DateUtil.compare(d, max) == 0) ; else { isValid = false; addMsg("err_need_less_equal", new String[] {fieldDesc, "" + max}); } } } catch (Exception e) { isValid = false; addMsg("err_format", new String[] {cond}); } } else { String strMax = cond.substring(5, cond.length()). trim(); try { Date max = null; try { max = DateUtil.parse(strMax, format, SkinUtil.getLocale(request)); } catch (Exception e) { addMsg("err_format", new String[] {strMax}); } if (max!=null) { if (DateUtil.compare(d, max) == 2) ; else { isValid = false; addMsg("err_need_less", new String[] {fieldDesc, "" + max}); } } } catch (Exception e) { isValid = false; addMsg("err_format", new String[] {cond}); } } } else { isValid = false; addMsg("err_format", new String[] {cond}); } } } } if (!isValid) { if (onErrorExit) { throw new CheckErrException(msgs); } } } public void checkFieldLong(String ruleStr) throws CheckErrException { String fieldName = ""; String[] rule = split(ruleStr); if (rule == null) { addMsg("err_format", new String[] {ruleStr}); return; } int len = rule.length; if (len < 4) { addMsg("err_format", new String[] {ruleStr}); return; } fieldName = rule[1]; String value = getFieldValue(fieldName); checkFieldLong(ruleStr, value); } public void checkFieldLong(String ruleStr, String value) throws CheckErrException { String fieldName = ""; String type = ""; String fieldDesc = ""; String[] rule = split(ruleStr); if (rule == null) { addMsg("err_format", new String[] {ruleStr}); return; } int len = rule.length; if (len < 4) { addMsg("err_format", new String[] {ruleStr}); return; } type = rule[0]; fieldName = rule[1]; fieldDesc = parseFieldDesc(rule[2]); String NULL = rule[3]; Long longValue = null; if (value == null) { if (NULL.equalsIgnoreCase("not")) { addMsg("err_want", new String[] {fieldDesc}); return; } else if (NULL.equals("allow")) ; else if (NULL.startsWith("auto_inc")) { String s = NULL.substring(9, NULL.length()); String[] ary = s.split("\\$"); try { ISequence is = (ISequence)Class.forName(ary[0]).newInstance(); int typeId = Integer.parseInt(ary[1]); longValue = new Long(is.getNextId(typeId)); } catch (Exception e) { logger.error("checkFieldLong1:" + StrUtil.trace(e)); addMsg("err_format", new String[] {fieldDesc + "=" + e.getMessage()}); return; } } else { try { long v = Long.parseLong(NULL); longValue = new Long(v); } catch (Exception e) { addMsg("err_format", new String[] {NULL}); return; } } } else { try { long v = Long.parseLong(value); longValue = new Long(v); } catch (Exception e) { addMsg("err_format", new String[] {fieldDesc + "=" + value}); return; } } Field f = new Field(fieldName, fieldDesc, longValue, type); fields.put(fieldName, f); boolean isValid = true; for (int i = 4; i < len; i++) { String cond = rule[i].trim(); if (cond.startsWith("min")) { if (value != null) { long fieldValue = longValue.longValue(); char token = cond.charAt(3); if (token == '>') { if (cond.charAt(4) == '=') { String strMin = cond.substring(5, cond.length()). trim(); try { long min = Long.parseLong(strMin); if (fieldValue >= min) ; else { isValid = false; addMsg("err_need_more_equal", new String[] {fieldDesc, "" + min}); } } catch (Exception e) { isValid = false; addMsg("err_format", new String[] {cond}); } } else { String strMin = cond.substring(4, cond.length()). trim(); try { long min = Long.parseLong(strMin); if (fieldValue > min) ; else { isValid = false; addMsg("err_need_more", new String[] {fieldDesc, "" + min}); } } catch (Exception e) { addMsg("err_format", new String[] {cond}); } } } else { isValid = false; addMsg("err_format", new String[] {cond}); } } } else if (cond.startsWith("max")) { if (value != null) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -