📄 fieldchecks.java
字号:
}
Locale locale = RequestUtils.getUserLocale(request, null);
result = GenericTypeValidator.formatFloat(value, locale);
if (result == null) {
errors.add(field.getKey(),
Resources.getActionMessage(validator, request, va, field));
}
return (result == null) ? Boolean.FALSE : result;
}
/**
* Checks if the field can safely be converted to a double primitive.
*
* @param bean The bean validation is being performed on.
* @param va The <code>ValidatorAction</code> that is currently
* being performed.
* @param field The <code>Field</code> object associated with the
* current field being validated.
* @param errors The <code>ActionMessages</code> object to add errors
* to if any validation errors occur.
* @param validator The <code>Validator</code> instance, used to access
* other field values.
* @param request Current request object.
* @return true if valid, false otherwise.
*/
public static Object validateDouble(Object bean, ValidatorAction va,
Field field, ActionMessages errors, Validator validator,
HttpServletRequest request) {
Object result = null;
String value = null;
try {
value = evaluateBean(bean, field);
} catch (Exception e) {
processFailure(errors, field, validator.getFormName(), "double", e);
return Boolean.FALSE;
}
if (GenericValidator.isBlankOrNull(value)) {
return Boolean.TRUE;
}
result = GenericTypeValidator.formatDouble(value);
if (result == null) {
errors.add(field.getKey(),
Resources.getActionMessage(validator, request, va, field));
}
return (result == null) ? Boolean.FALSE : result;
}
/**
* Checks if the field can safely be converted to a double primitive.
*
* @param bean The bean validation is being performed on.
* @param va The <code>ValidatorAction</code> that is currently
* being performed.
* @param field The <code>Field</code> object associated with the
* current field being validated.
* @param errors The <code>ActionMessages</code> object to add errors
* to if any validation errors occur.
* @param validator The <code>Validator</code> instance, used to access
* other field values.
* @param request Current request object.
* @return true if valid, false otherwise.
*/
public static Object validateDoubleLocale(Object bean, ValidatorAction va,
Field field, ActionMessages errors, Validator validator,
HttpServletRequest request) {
Object result = null;
String value = null;
try {
value = evaluateBean(bean, field);
} catch (Exception e) {
processFailure(errors, field, validator.getFormName(), "doubleLocale", e);
return Boolean.FALSE;
}
if (GenericValidator.isBlankOrNull(value)) {
return Boolean.TRUE;
}
Locale locale = RequestUtils.getUserLocale(request, null);
result = GenericTypeValidator.formatDouble(value, locale);
if (result == null) {
errors.add(field.getKey(),
Resources.getActionMessage(validator, request, va, field));
}
return (result == null) ? Boolean.FALSE : result;
}
/**
* Checks if the field is a valid date. If the field has a datePattern
* variable, that will be used to format <code>java.text.SimpleDateFormat</code>.
* If the field has a datePatternStrict variable, that will be used to
* format <code>java.text.SimpleDateFormat</code> and the length will be
* checked so '2/12/1999' will not pass validation with the format
* 'MM/dd/yyyy' because the month isn't two digits. If no datePattern
* variable is specified, then the field gets the DateFormat.SHORT format
* for the locale. The setLenient method is set to <code>false</code> for
* all variations.
*
* @param bean The bean validation is being performed on.
* @param va The <code>ValidatorAction</code> that is currently
* being performed.
* @param field The <code>Field</code> object associated with the
* current field being validated.
* @param errors The <code>ActionMessages</code> object to add errors
* to if any validation errors occur.
* @param validator The <code>Validator</code> instance, used to access
* other field values.
* @param request Current request object.
* @return true if valid, false otherwise.
*/
public static Object validateDate(Object bean, ValidatorAction va,
Field field, ActionMessages errors, Validator validator,
HttpServletRequest request) {
Object result = null;
String value = null;
try {
value = evaluateBean(bean, field);
} catch (Exception e) {
processFailure(errors, field, validator.getFormName(), "date", e);
return Boolean.FALSE;
}
boolean isStrict = false;
String datePattern =
Resources.getVarValue("datePattern", field, validator, request,
false);
if (GenericValidator.isBlankOrNull(datePattern)) {
datePattern =
Resources.getVarValue("datePatternStrict", field, validator,
request, false);
if (!GenericValidator.isBlankOrNull(datePattern)) {
isStrict = true;
}
}
Locale locale = RequestUtils.getUserLocale(request, null);
if (GenericValidator.isBlankOrNull(value)) {
return Boolean.TRUE;
}
try {
if (GenericValidator.isBlankOrNull(datePattern)) {
result = GenericTypeValidator.formatDate(value, locale);
} else {
result =
GenericTypeValidator.formatDate(value, datePattern, isStrict);
}
} catch (Exception e) {
log.error(e.getMessage(), e);
}
if (result == null) {
errors.add(field.getKey(),
Resources.getActionMessage(validator, request, va, field));
}
return (result == null) ? Boolean.FALSE : result;
}
/**
* Checks if a fields value is within a range (min & max specified in
* the vars attribute).
*
* @param bean The bean validation is being performed on.
* @param va The <code>ValidatorAction</code> that is currently
* being performed.
* @param field The <code>Field</code> object associated with the
* current field being validated.
* @param errors The <code>ActionMessages</code> object to add errors
* to if any validation errors occur.
* @param validator The <code>Validator</code> instance, used to access
* other field values.
* @param request Current request object.
* @return True if in range, false otherwise.
*/
public static boolean validateLongRange(Object bean, ValidatorAction va,
Field field, ActionMessages errors, Validator validator,
HttpServletRequest request) {
String value = null;
try {
value = evaluateBean(bean, field);
if (!GenericValidator.isBlankOrNull(value)) {
String minVar =
Resources.getVarValue("min", field, validator, request, true);
String maxVar =
Resources.getVarValue("max", field, validator, request, true);
long longValue = Long.parseLong(value);
long min = Long.parseLong(minVar);
long max = Long.parseLong(maxVar);
if (min > max) {
throw new IllegalArgumentException(sysmsgs.getMessage(
"invalid.range", minVar, maxVar));
}
if (!GenericValidator.isInRange(longValue, min, max)) {
errors.add(field.getKey(),
Resources.getActionMessage(validator, request, va, field));
return false;
}
}
} catch (Exception e) {
processFailure(errors, field, validator.getFormName(), "longRange", e);
return false;
}
return true;
}
/**
* Checks if a fields value is within a range (min & max specified in
* the vars attribute).
*
* @param bean The bean validation is being performed on.
* @param va The <code>ValidatorAction</code> that is currently
* being performed.
* @param field The <code>Field</code> object associated with the
* current field being validated.
* @param errors The <code>ActionMessages</code> object to add errors
* to if any validation errors occur.
* @param validator The <code>Validator</code> instance, used to access
* other field values.
* @param request Current request object.
* @return True if in range, false otherwise.
*/
public static boolean validateIntRange(Object bean, ValidatorAction va,
Field field, ActionMessages errors, Validator validator,
HttpServletRequest request) {
String value = null;
try {
value = evaluateBean(bean, field);
if (!GenericValidator.isBlankOrNull(value)) {
String minVar =
Resources.getVarValue("min", field, validator, request, true);
String maxVar =
Resources.getVarValue("max", field, validator, request, true);
int min = Integer.parseInt(minVar);
int max = Integer.parseInt(maxVar);
int intValue = Integer.parseInt(value);
if (min > max) {
throw new IllegalArgumentException(sysmsgs.getMessage(
"invalid.range", minVar, maxVar));
}
if (!GenericValidator.isInRange(intValue, min, max)) {
errors.add(field.getKey(),
Resources.getActionMessage(validator, request, va, field));
return false;
}
}
} catch (Exception e) {
processFailure(errors, field, validator.getFormName(), "intRange", e);
return false;
}
return true;
}
/**
* Checks if a fields value is within a range (min & max specified in
* the vars attribute).
*
* @param bean The bean validation is being performed on.
* @param va The <code>ValidatorAction</code> that is currently
* being performed.
* @param field The <code>Field</code> object associated with the
* current field being validated.
* @param errors The <code>ActionMessages</code> object to add errors
* to if any validation errors occur.
* @param validator The <code>Validator</code> instance, used to access
* other field values.
* @param request Current request object.
* @return True if in range, false otherwise.
*/
public static boolean validateDoubleRange(Object bean, ValidatorAction va,
Field field, ActionMessages errors, Validator validator,
HttpServletRequest request) {
String value = null;
try {
value = evaluateBean(bean, field);
if (!GenericValidator.isBlankOrNull(value)) {
String minVar =
Resources.getVarValue("min", field, validator, request, true);
String maxVar =
Resources.getVarValue("max", field, validator, request, true);
double doubleValue = Double.parseDouble(value);
double min = Double.parseDouble(minVar);
double max = Double.parseDouble(maxVar);
if (min > max) {
throw new IllegalArgumentException(sysmsgs.getMessage(
"invalid.range", minVar, maxVar));
}
if (!GenericValidator.isInRange(doubleValue, min, max)) {
errors.add(field.getKey(),
Resources.getActionMessage(validator, request, va, field));
return false;
}
}
} catch (Exception e) {
processFailure(errors, field, validator.getFormName(), "doubleRange", e);
return false;
}
return true;
}
/**
* Checks if a fields value is within a range (min & max specified in
* the vars attribute).
*
* @param bean The bean validation is being performed on.
* @param va The <code>ValidatorAction</code> that is currently
* being performed.
* @param field The <code>Field</code> object associated with the
* current field being validated.
* @param errors The <code>ActionMessages</code> object to add errors
* to if any validation errors occur.
* @param validator The <code>Validator</code> instance, used to access
* other field values.
* @param request Current request object.
* @return True if in range, false otherwise.
*/
public static boolean validateFloatRange(Object bean, ValidatorAction va,
Field field, ActionMessages errors, Validator validator,
HttpServletRequest request) {
String value = null;
try {
value = evaluateBean(bean, field);
if (!GenericValidator.isBlankOrNull(value)) {
String minVar =
Resources.getVarValue("min", field, validator, request, true);
String maxVar =
Resources.getVarValue("max", field, validator, request, true);
float floatValue = Float.parseFloat(value);
float min = Float.parseFloat(minVar);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -