⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 validationutils.java

📁 一些很有用的spring的书籍
💻 JAVA
字号:
package com.apress.springbook.chapter08.web;

import java.util.ArrayList;
import java.util.List;

import org.springframework.context.support.DefaultMessageSourceResolvable;
import org.springframework.util.StringUtils;
import org.springframework.validation.Errors;

public class ValidationUtils {
    
    public static final String MSG_TOO_LONG = "errors.too-long";
    public static final String MSG_REQUIRED = "errors.required";
    public static final String MSG_BOUNDS = "errors.value-between";

    public static boolean rejectIfLengthGreaterThan(int maxLength, String fieldName,
            Errors errors) {
        Object value = errors.getFieldValue(fieldName);
        if (value != null && value.toString().length() > maxLength) {
            errors.rejectValue(fieldName, MSG_TOO_LONG,
                new Object[]{msr(fieldName,errors), new Integer(maxLength)},
                "Field " + fieldName +
                    " must not be greater than " + maxLength + " characters");
            return false;
        }
        return true;
    }

private static Object msr(String fieldName, Errors errors) {
  List<String> fieldNames = new ArrayList<String>();
  fieldName = errors.getNestedPath() + fieldName;
  fieldNames.add(fieldName);
  int index = -1;
  while ((index = fieldName.indexOf('.')) > -1) {
    fieldName = fieldName.substring(index+1);
    fieldNames.add(fieldName);
  }
  return new DefaultMessageSourceResolvable(
         fieldNames.toArray(new String[fieldNames.size()]));
}


    public static boolean rejectIfEmpty(String field, Errors errors) {
      Object value = errors.getFieldValue(field);
      if (!StringUtils.hasLength(value.toString())) {
        errors.rejectValue(field, MSG_REQUIRED, new Object[]{
            msr(field,errors)}, "Field " + field + " is required");
        return false;
      }
      return true;
    }

    public static boolean rejectIfNotBetweenInclusive (int lower, int upper, String field, Errors errors) {
	int value = Integer.parseInt(errors.getFieldValue(field).toString());
	if(value < lower || value > upper) {
            errors.rejectValue(field, MSG_BOUNDS, new Object[]{
                    msr(field,errors), new Integer(lower), new Integer(upper)}, "Field " + field + " must be between "  + lower + " and " + upper);
	    return false;
	}
	return true;
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -