code: private void processConstraintViolation(final Set<ConstraintViolation<Object>> violations,
              final CsvBindingErrors bindingErrors, final ValidationContext<Object> validationContext) {
          
          for(ConstraintViolation<Object> violation : violations) {
              
              final String field = violation.getPropertyPath().toString();
              final ConstraintDescriptor<?> cd = violation.getConstraintDescriptor();
              
              final String[] errorCodes = determineErrorCode(cd);
              
              final Map<String, Object> errorVars = createVariableForConstraint(cd);
              
              if(isCsvField(field, validationContext)) {
                  // フィールドエラーの場合
                  
                  final CsvFieldError fieldError = bindingErrors.getFirstFieldError(field);
                  if(fieldError != null && fieldError.isProcessingFailure()) {
                      // CellProcessorで発生したエラーが既ににある場合は、処理をスキップする。
                      continue;
                  }
                  
                  final ColumnMapping columnMapping = validationContext.getBeanMapping().getColumnMapping(field).get();
                  
                  errorVars.put("lineNumber", validationContext.getCsvContext().getLineNumber());
                  errorVars.put("rowNumber", validationContext.getCsvContext().getRowNumber());
                  errorVars.put("columnNumber", columnMapping.getNumber());
                  errorVars.put("label", columnMapping.getLabel());
                  errorVars.computeIfAbsent("printer", key -> columnMapping.getFormatter());
                  
                  // 実際の値を取得する
                  final Object fieldValue = violation.getInvalidValue();
                  errorVars.computeIfAbsent("validatedValue", key -> fieldValue);
                  
                  String defaultMessage = determineDefaltMessage(errorVars, violation);
                  
                  bindingErrors.rejectValue(field, columnMapping.getField().getType(), 
                          errorCodes, errorVars, defaultMessage);
                  
              } else {
                  // オブジェクトエラーの場合
                  bindingErrors.reject(errorCodes, errorVars, violation.getMessage());
                  
              }
              
          }
          
          
      }
docs: BeanValidationの検証結果をSheet用のエラーに変換する
  @param violations BeanValidationの検証結果
  @param bindingErrors エラー情報
  @param validationContext 入力値検証のためのコンテキスト情報