示例#1
0
  public static boolean validate(
      Object bean,
      ValidatorAction va,
      Field field,
      ActionMessages errors,
      HttpServletRequest request,
      ServletContext application) {

    String valueString = ValidatorUtils.getValueAsString(bean, field.getProperty());

    String sProperty2 = ValidatorUtils.getValueAsString(bean, field.getVarValue("month"));
    String sProperty3 = ValidatorUtils.getValueAsString(bean, field.getVarValue("day"));

    if (((valueString == null) && (sProperty2 == null) && (sProperty3 == null))
        || ((valueString.length() == 0)
            && (sProperty2.length() == 0)
            && (sProperty3.length() == 0))) {
      // errors.add(field.getKey(),Resources.getActionError(request, va,
      // field));
      return true;
    }

    Integer year = null;
    Integer month = null;
    Integer day = null;

    try {
      year = new Integer(valueString);
      month = new Integer(sProperty2);
      day = new Integer(sProperty3);
    } catch (NumberFormatException e) {
      errors.add(field.getKey(), Resources.getActionMessage(request, va, field));
      return false;
    }

    if (!GenericValidator.isBlankOrNull(valueString)) {
      if (!Data.validDate(day, month, year)
          || year == null
          || month == null
          || day == null
          || year.intValue() < 1
          || month.intValue() < 0
          || day.intValue() < 1) {
        errors.add(field.getKey(), Resources.getActionMessage(request, va, field));
      }

      return false;
    }

    return true;
  }
示例#2
0
  /**
   * Validates that two fields match.
   *
   * @param bean
   * @param va
   * @param field
   * @param errors
   * @param request
   * @return boolean
   */
  public static boolean validateTwoFields(
      Object bean,
      ValidatorAction va,
      Field field,
      ActionMessages errors,
      HttpServletRequest request) {
    String value = ValidatorUtils.getValueAsString(bean, field.getProperty());
    String sProperty2 = field.getVarValue("secondProperty");
    String value2 = ValidatorUtils.getValueAsString(bean, sProperty2);

    if (!GenericValidator.isBlankOrNull(value)) {
      try {
        if (!value.equals(value2)) {
          errors.add(field.getKey(), Resources.getActionMessage(request, va, field));

          return false;
        }
      } catch (Exception e) {
        errors.add(field.getKey(), Resources.getActionMessage(request, va, field));

        return false;
      }
    }

    return true;
  }
示例#3
0
  // this validator is only valid when used in year field
  public static boolean threeArgsDate(
      Object bean,
      ValidatorAction va,
      Field field,
      ActionMessages errors,
      HttpServletRequest request,
      ServletContext application) {

    String valueString1 = ValidatorUtils.getValueAsString(bean, field.getProperty());

    String sProperty2 = ValidatorUtils.getValueAsString(bean, field.getVarValue("month"));
    String sProperty3 = ValidatorUtils.getValueAsString(bean, field.getVarValue("day"));

    if (((valueString1 == null) && (sProperty2 == null) && (sProperty3 == null))
        || ((valueString1.length() == 0)
            && (sProperty2.length() == 0)
            && (sProperty3.length() == 0))) {
      // errors.add(field.getKey(),Resources.getActionError(request, va,
      // field));
      return true;
    }

    Integer year = null;
    Integer month = null;
    Integer day = null;

    try {
      year = new Integer(valueString1);
      month = new Integer(sProperty2);
      day = new Integer(sProperty3);
    } catch (NumberFormatException e) {
      errors.add(field.getKey(), Resources.getActionMessage(request, va, field));
      return false;
    }
    String date = new String(day.toString() + "/" + month.toString() + "/" + year);
    String datePattern = "dd/MM/yyyy";
    if (!GenericValidator.isDate(date, datePattern, false)) {
      errors.add(field.getKey(), Resources.getActionMessage(request, va, field));
      return false;
    }
    return true;
  }
示例#4
0
  /**
   * Validates that two fields match.
   *
   * @param bean
   * @param va
   * @param field
   * @param errors
   */
  public static boolean validateTwoFields(
      Object bean, ValidatorAction va, Field field, Errors errors) {
    String value = ValidatorUtils.getValueAsString(bean, field.getProperty());
    String sProperty2 = field.getVarValue("secondProperty");
    String value2 = ValidatorUtils.getValueAsString(bean, sProperty2);

    if (!GenericValidator.isBlankOrNull(value)) {
      try {
        if (!value.equals(value2)) {
          FieldChecks.rejectValue(errors, field, va);
          return false;
        }
      } catch (Exception e) {
        FieldChecks.rejectValue(errors, field, va);
        return false;
      }
    }

    return true;
  }
示例#5
0
  /**
   * Validates that two fields match.
   *
   * @param bean
   * @param va
   * @param field
   * @param errors
   */
  public static boolean validateTwoFields(
      Object bean, ValidatorAction va, Field field, Errors errors) {
    String value = ValidatorUtils.getValueAsString(bean, field.getProperty());
    String sProperty2 = field.getVarValue("equalTo");
    String value2 = ValidatorUtils.getValueAsString(bean, sProperty2);
    if (value == null && value2 == null) {
      return true;
    } else if (value != null && value2 == null) {
      return false;
    } else if (value == null && value2 != null) {
      return false;
    }
    try {
      if (!value.equals(value2)) {
        FieldChecks.rejectValue(errors, field, va);
        return false;
      }
    } catch (Exception e) {
      FieldChecks.rejectValue(errors, field, va);
      return false;
    }

    return true;
  }