org.springframework.validation.FieldError Java Examples
The following examples show how to use
org.springframework.validation.FieldError.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: SystemExceptionHandler.java From codeway_service with GNU General Public License v3.0 | 6 votes |
/** * JSR303参数校验错误 * @param ex BindException */ @ExceptionHandler({BindException.class,MethodArgumentNotValidException.class}) public JsonData<Void> bindException(MethodArgumentNotValidException ex) { LogBack.error(ex.getMessage(), ex); BindingResult bindingResult = ex.getBindingResult(); if (bindingResult.hasErrors()) { List<FieldError> errors = bindingResult.getFieldErrors(); List<ValidFieldError> validList = new ArrayList<>(); if (!(CollectionUtils.isEmpty(errors))) { for (FieldError fe : errors) { validList.add(new ValidFieldError(fe)); } } LogBack.error("参数校验错误:" + validList.toString(), ex); return JsonData.failed(StatusEnum.PARAM_INVALID, validList.toString()); } return JsonData.failed(StatusEnum.PARAM_INVALID); }
Example #2
Source File: CodeGenExceptionHandler.java From das with Apache License 2.0 | 6 votes |
private Object exeute(HttpServletRequest reqest, HttpServletResponse response, Exception e) { log.error(StringUtil.getMessage(e), e); //if (isAjax(reqest)) { String exMsg = StringUtil.getMessage(e); if (e instanceof InvocationTargetException && exMsg == null) { exMsg = ((InvocationTargetException) e).getTargetException().getMessage(); } else if (e instanceof MethodArgumentNotValidException) { List<String> list = StringUtil.toList(exMsg, "default message"); if (CollectionUtils.isNotEmpty(list) && list.size() > 1) { List<FieldError> errors = ((MethodArgumentNotValidException) e).getBindingResult().getFieldErrors(); if (CollectionUtils.isNotEmpty(list)) { exMsg = errors.get(0).getDefaultMessage(); } } } if (exMsg == null) { exMsg = e.toString(); } return ServiceResult.fail(exMsg); /* } else { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("/err/500/index.html"); return modelAndView; }*/ }
Example #3
Source File: CheckUtil.java From api-mock-util with Apache License 2.0 | 6 votes |
/** * 校验model上的注解 * * @param pjp 连接点 */ public static void checkModel(ProceedingJoinPoint pjp) { StringBuilder sb = new StringBuilder(); try { //找到BindingResult参数 List<BindingResult> results = getBindingResult(pjp); if (results != null && !results.isEmpty()) { for (BindingResult result : results) { if (null != result && result.hasErrors()) { //拼接错误信息 if (null != result.getFieldErrors()) { for (FieldError fe : result.getFieldErrors()) { sb.append(fe.getField() + "-" + fe.getDefaultMessage()).append(" "); } } } } if (StringUtils.isNotBlank(sb.toString())) { fail(sb.toString());//抛出检查异常 } } } catch (Exception e) { fail(e.getMessage());//抛出检查异常 } }
Example #4
Source File: BindingResultAspect.java From BigDataPlatform with GNU General Public License v3.0 | 6 votes |
@Around("BindingResult()") public Object doAround(ProceedingJoinPoint joinPoint) throws Throwable { Object[] args = joinPoint.getArgs(); for (Object arg : args) { if (arg instanceof BindingResult) { BindingResult result = (BindingResult) arg; if (result.hasErrors()) { FieldError fieldError = result.getFieldError(); if (fieldError != null) { return CommonResult.validateFailed(fieldError.getDefaultMessage()); } else { return CommonResult.validateFailed(); } } } } return joinPoint.proceed(); }
Example #5
Source File: SpringValidatorAdapterTests.java From spring-analysis-note with MIT License | 6 votes |
@Test // SPR-13406 public void testApplyMessageSourceResolvableToStringArgumentValueWithResolvedLogicalFieldName() { TestBean testBean = new TestBean(); testBean.setPassword("password"); testBean.setConfirmPassword("PASSWORD"); BeanPropertyBindingResult errors = new BeanPropertyBindingResult(testBean, "testBean"); validatorAdapter.validate(testBean, errors); assertThat(errors.getFieldErrorCount("password"), is(1)); assertThat(errors.getFieldValue("password"), is("password")); FieldError error = errors.getFieldError("password"); assertNotNull(error); assertThat(messageSource.getMessage(error, Locale.ENGLISH), is("Password must be same value as Password(Confirm)")); assertTrue(error.contains(ConstraintViolation.class)); assertThat(error.unwrap(ConstraintViolation.class).getPropertyPath().toString(), is("password")); }
Example #6
Source File: RestExceptionTranslator.java From spring-rdbms-cdc-kafka-elasticsearch with Apache License 2.0 | 6 votes |
/** * Handle validation errors * * @return validation error with the fields errors and a bad request */ @ResponseStatus(value = HttpStatus.BAD_REQUEST) @ExceptionHandler(value = MethodArgumentNotValidException.class) @ResponseBody public RestFieldsErrorsDto handleValidationExceptions(MethodArgumentNotValidException exception) { BindingResult result = exception.getBindingResult(); String errorCode = RestErrorConstants.ERR_VALIDATION_ERROR; LOGGER.error(ERROR_MSG, errorCode, exception); RestFieldsErrorsDto restFieldsErrors = new RestFieldsErrorsDto(errorCode, getLocalizedMessageFromErrorCode(errorCode)); List<FieldError> fieldErrors = result.getFieldErrors(); fieldErrors.forEach(fieldError -> restFieldsErrors.addError(new RestFieldErrorDto(fieldError.getField(), fieldError.getCode(), getLocalizedMessageFromFieldError(fieldError)))); return restFieldsErrors; }
Example #7
Source File: BindingResultErrorUtils.java From faster-framework-project with Apache License 2.0 | 6 votes |
/** * @param bindingResult bindingResult * @return bindingResult错误内容 */ public static String resolveErrorMessage(BindingResult bindingResult) { if (bindingResult == null || CollectionUtils.isEmpty(bindingResult.getFieldErrors())) { return ""; } StringBuilder errorMsg = new StringBuilder(); List<FieldError> fieldErrorList = bindingResult.getFieldErrors(); for (FieldError fieldError : fieldErrorList) { errorMsg.append("[") .append(fieldError.getField()) .append(":") .append(fieldError.getDefaultMessage()) .append("]"); } return errorMsg.toString(); }
Example #8
Source File: EscapedErrors.java From spring-analysis-note with MIT License | 6 votes |
@SuppressWarnings("unchecked") @Nullable private <T extends ObjectError> T escapeObjectError(@Nullable T source) { if (source == null) { return null; } String defaultMessage = source.getDefaultMessage(); if (defaultMessage != null) { defaultMessage = HtmlUtils.htmlEscape(defaultMessage); } if (source instanceof FieldError) { FieldError fieldError = (FieldError) source; Object value = fieldError.getRejectedValue(); if (value instanceof String) { value = HtmlUtils.htmlEscape((String) value); } return (T) new FieldError( fieldError.getObjectName(), fieldError.getField(), value, fieldError.isBindingFailure(), fieldError.getCodes(), fieldError.getArguments(), defaultMessage); } else { return (T) new ObjectError( source.getObjectName(), source.getCodes(), source.getArguments(), defaultMessage); } }
Example #9
Source File: ValidatorFactoryTests.java From spring-analysis-note with MIT License | 6 votes |
@Test public void testSpringValidationWithErrorInSetElement() { LocalValidatorFactoryBean validator = new LocalValidatorFactoryBean(); validator.afterPropertiesSet(); ValidPerson person = new ValidPerson(); person.getAddressSet().add(new ValidAddress()); BeanPropertyBindingResult result = new BeanPropertyBindingResult(person, "person"); validator.validate(person, result); assertEquals(3, result.getErrorCount()); FieldError fieldError = result.getFieldError("name"); assertEquals("name", fieldError.getField()); fieldError = result.getFieldError("address.street"); assertEquals("address.street", fieldError.getField()); fieldError = result.getFieldError("addressSet[].street"); assertEquals("addressSet[].street", fieldError.getField()); }
Example #10
Source File: SpringValidatorAdapterTests.java From spring-analysis-note with MIT License | 6 votes |
@Test // SPR-13406 public void testNoStringArgumentValue() { TestBean testBean = new TestBean(); testBean.setPassword("pass"); testBean.setConfirmPassword("pass"); BeanPropertyBindingResult errors = new BeanPropertyBindingResult(testBean, "testBean"); validatorAdapter.validate(testBean, errors); assertThat(errors.getFieldErrorCount("password"), is(1)); assertThat(errors.getFieldValue("password"), is("pass")); FieldError error = errors.getFieldError("password"); assertNotNull(error); assertThat(messageSource.getMessage(error, Locale.ENGLISH), is("Size of Password is must be between 8 and 128")); assertTrue(error.contains(ConstraintViolation.class)); assertThat(error.unwrap(ConstraintViolation.class).getPropertyPath().toString(), is("password")); }
Example #11
Source File: PetControllerExceptionHandler.java From api-layer with Eclipse Public License 2.0 | 6 votes |
/** * The handleMethodArgumentNotValid method creates a response with a list of messages that contains the fields with errors * * @param exception MethodArgumentNotValidException * @return 400 and a list of messages with invalid fields */ @ExceptionHandler(MethodArgumentNotValidException.class) public ResponseEntity<ApiMessageView> handleMethodArgumentNotValid(MethodArgumentNotValidException exception) { List<FieldError> fieldErrors = exception.getBindingResult().getFieldErrors(); List<Object[]> messages = new ArrayList<>(); for (FieldError fieldError : fieldErrors) { Object[] messageFields = new Object[3]; messageFields[0] = fieldError.getField(); messageFields[1] = fieldError.getRejectedValue(); messageFields[2] = fieldError.getDefaultMessage(); messages.add(messageFields); } List<ApiMessage> listApiMessage = messageService .createMessage("org.zowe.apiml.sampleservice.api.petMethodArgumentNotValid", messages) .stream() .map(Message::mapToApiMessage) .collect(Collectors.toList()); return ResponseEntity .status(HttpStatus.BAD_REQUEST) .contentType(MediaType.APPLICATION_JSON_UTF8) .body(new ApiMessageView(listApiMessage)); }
Example #12
Source File: JsonResult.java From match-trade with Apache License 2.0 | 6 votes |
/** * <p>返回失败,无数据</p> * @param BindingResult * @return JsonResult */ public JsonResult<T> error(BindingResult result, MessageSource messageSource) { StringBuffer msg = new StringBuffer(); // 获取错位字段集合 List<FieldError> fieldErrors = result.getFieldErrors(); // 获取本地locale,zh_CN Locale currentLocale = LocaleContextHolder.getLocale(); for (FieldError fieldError : fieldErrors) { // 获取错误信息 String errorMessage = messageSource.getMessage(fieldError, currentLocale); // 添加到错误消息集合内 msg.append(fieldError.getField() + ":" + errorMessage + " "); } this.setCode(CODE_FAILED); this.setMsg(msg.toString()); this.setData(null); return this; }
Example #13
Source File: SpringValidatorAdapterTests.java From java-technology-stack with MIT License | 6 votes |
@Test // SPR-13406 public void testNoStringArgumentValue() { TestBean testBean = new TestBean(); testBean.setPassword("pass"); testBean.setConfirmPassword("pass"); BeanPropertyBindingResult errors = new BeanPropertyBindingResult(testBean, "testBean"); validatorAdapter.validate(testBean, errors); assertThat(errors.getFieldErrorCount("password"), is(1)); assertThat(errors.getFieldValue("password"), is("pass")); FieldError error = errors.getFieldError("password"); assertNotNull(error); assertThat(messageSource.getMessage(error, Locale.ENGLISH), is("Size of Password is must be between 8 and 128")); assertTrue(error.contains(ConstraintViolation.class)); assertThat(error.unwrap(ConstraintViolation.class).getPropertyPath().toString(), is("password")); }
Example #14
Source File: ValidatorFactoryTests.java From java-technology-stack with MIT License | 6 votes |
@Test public void testSpringValidationWithErrorInSetElement() { LocalValidatorFactoryBean validator = new LocalValidatorFactoryBean(); validator.afterPropertiesSet(); ValidPerson person = new ValidPerson(); person.getAddressSet().add(new ValidAddress()); BeanPropertyBindingResult result = new BeanPropertyBindingResult(person, "person"); validator.validate(person, result); assertEquals(3, result.getErrorCount()); FieldError fieldError = result.getFieldError("name"); assertEquals("name", fieldError.getField()); fieldError = result.getFieldError("address.street"); assertEquals("address.street", fieldError.getField()); fieldError = result.getFieldError("addressSet[].street"); assertEquals("addressSet[].street", fieldError.getField()); }
Example #15
Source File: ValidationBindingResult.java From onetwo with Apache License 2.0 | 6 votes |
public String getFieldErrorMessage(FieldError fe, boolean readFieldMeta){ if(fe==null){ // throw new JFishException("can not find this field named : " + fieldName); return ""; } String fmsg = null; if(readFieldMeta){ JFishProperty jp = JFishPropertyFactory.create(getTarget().getClass(), fe.getField(), true); if(jp==null) jp = JFishPropertyFactory.create(getTarget().getClass(), fe.getField(), false); FieldName jfm = jp.getAnnotation(FieldName.class); if(jfm==null){ fmsg = LangUtils.append(fe.getField(), fe.getDefaultMessage()); }else{ fmsg = LangUtils.append(jfm.value(), fe.getDefaultMessage()); } }else{ fmsg = fe.getDefaultMessage(); } return fmsg; }
Example #16
Source File: DefaultExceptionAdvice.java From momo-cloud-permission with Apache License 2.0 | 6 votes |
/** * IllegalArgumentException异常处理返回json * 返回状态码:500 */ @ResponseStatus(HttpStatus.OK) @ExceptionHandler({MethodArgumentNotValidException.class}) public JSONResult argumentNotValidException(MethodArgumentNotValidException e) { List<FieldError> bindingResult = e.getBindingResult().getFieldErrors(); StringBuilder sb = new StringBuilder(); //请求参数错误 sb.append(ErrorEnum.ERROR_PARAM.getErrorMessage()).append(" --> "); for (FieldError fieldError : bindingResult) { sb.append(fieldError.getField()); sb.append(" : "); sb.append(fieldError.getDefaultMessage()); sb.append(" ; "); } return defHandler(null, sb.toString(), e); }
Example #17
Source File: ValidatorFactoryTests.java From spring4-understanding with Apache License 2.0 | 6 votes |
@Test public void testSpringValidation() throws Exception { LocalValidatorFactoryBean validator = new LocalValidatorFactoryBean(); validator.afterPropertiesSet(); ValidPerson person = new ValidPerson(); BeanPropertyBindingResult result = new BeanPropertyBindingResult(person, "person"); validator.validate(person, result); assertEquals(2, result.getErrorCount()); FieldError fieldError = result.getFieldError("name"); assertEquals("name", fieldError.getField()); List<String> errorCodes = Arrays.asList(fieldError.getCodes()); assertEquals(4, errorCodes.size()); assertTrue(errorCodes.contains("NotNull.person.name")); assertTrue(errorCodes.contains("NotNull.name")); assertTrue(errorCodes.contains("NotNull.java.lang.String")); assertTrue(errorCodes.contains("NotNull")); fieldError = result.getFieldError("address.street"); assertEquals("address.street", fieldError.getField()); errorCodes = Arrays.asList(fieldError.getCodes()); assertEquals(5, errorCodes.size()); assertTrue(errorCodes.contains("NotNull.person.address.street")); assertTrue(errorCodes.contains("NotNull.address.street")); assertTrue(errorCodes.contains("NotNull.street")); assertTrue(errorCodes.contains("NotNull.java.lang.String")); assertTrue(errorCodes.contains("NotNull")); }
Example #18
Source File: WebApiExceptionHandler.java From http-patch-spring with MIT License | 5 votes |
private ApiResourcePropertyError toResourcePropertyError(FieldError fieldError) { return ApiResourcePropertyError.builder() .property(fieldError.getField()) .message(fieldError.getDefaultMessage()) .invalidValue(fieldError.getRejectedValue()) .build(); }
Example #19
Source File: TestUtils.java From nakadi with MIT License | 5 votes |
public static Problem invalidProblem(final String field, final String description) { final FieldError[] fieldErrors = {new FieldError("", field, description)}; final Errors errors = mock(Errors.class); when(errors.getAllErrors()).thenReturn(Arrays.asList(fieldErrors)); return new ValidationProblem(errors); }
Example #20
Source File: ValidationErrors.java From spring-cloud-gray with Apache License 2.0 | 5 votes |
private ObjectError convertError(ConfigurationPropertyName name, Set<ConfigurationProperty> boundProperties, ObjectError error) { if (error instanceof FieldError) { return convertFieldError(name, boundProperties, (FieldError) error); } return error; }
Example #21
Source File: ExceptionTranslator.java From tutorials with MIT License | 5 votes |
private ErrorVM processFieldErrors(List<FieldError> fieldErrors) { ErrorVM dto = new ErrorVM(ErrorConstants.ERR_VALIDATION); for (FieldError fieldError : fieldErrors) { dto.add(fieldError.getObjectName(), fieldError.getField(), fieldError.getCode()); } return dto; }
Example #22
Source File: StackValidationExceptionHandlerTest.java From gaia with Mozilla Public License 2.0 | 5 votes |
@Test void shouldJoinAllErrorMessages() { // given var objectError = new ObjectError("stack", "mandatory variables should not be null"); var fieldError = new FieldError("stack", "name", "should not be blank"); when(bindingResult.getAllErrors()).thenReturn(List.of(objectError, fieldError)); // when var result = handler.handleValidationExceptions(new MethodArgumentNotValidException(null, bindingResult)); // then assertThat(result).containsEntry("message", "mandatory variables should not be null\nname should not be blank"); }
Example #23
Source File: ConventionBasedSpringValidationErrorToApiErrorHandlerListenerTest.java From backstopper with Apache License 2.0 | 5 votes |
@Test public void shouldHandleException_delegates_to_extractAllErrorsFromWebExchangeBindException_for_WebExchangeBindException_error_retrieval() { // given ConventionBasedSpringValidationErrorToApiErrorHandlerListener listenerSpy = spy(listener); WebExchangeBindException ex = new WebExchangeBindException(null, mock(BindingResult.class)); ApiError someFieldError = testProjectApiErrors.getMissingExpectedContentApiError(); ApiError otherFieldError = testProjectApiErrors.getTypeConversionApiError(); ApiError notAFieldError = testProjectApiErrors.getGenericBadRequestApiError(); List<ObjectError> errorsList = Arrays.asList( new FieldError("someObj", "someField", someFieldError.getName()), new FieldError("otherObj", "otherField", otherFieldError.getName()), new ObjectError("notAFieldObject", notAFieldError.getName()) ); doReturn(errorsList).when(listenerSpy).extractAllErrorsFromWebExchangeBindException(ex); // when ApiExceptionHandlerListenerResult result = listenerSpy.shouldHandleException(ex); // then validateResponse(result, true, Arrays.asList( new ApiErrorWithMetadata(someFieldError, Pair.of("field", "someField")), new ApiErrorWithMetadata(otherFieldError, Pair.of("field", "otherField")), notAFieldError )); verify(listenerSpy).extractAllErrorsFromWebExchangeBindException(ex); }
Example #24
Source File: ValidatorFactoryTests.java From spring4-understanding with Apache License 2.0 | 5 votes |
@Test public void testSpringValidation() throws Exception { LocalValidatorFactoryBean validator = new LocalValidatorFactoryBean(); validator.afterPropertiesSet(); ValidPerson person = new ValidPerson(); BeanPropertyBindingResult result = new BeanPropertyBindingResult(person, "person"); validator.validate(person, result); assertEquals(2, result.getErrorCount()); FieldError fieldError = result.getFieldError("name"); assertEquals("name", fieldError.getField()); List<String> errorCodes = Arrays.asList(fieldError.getCodes()); assertEquals(4, errorCodes.size()); assertTrue(errorCodes.contains("NotNull.person.name")); assertTrue(errorCodes.contains("NotNull.name")); assertTrue(errorCodes.contains("NotNull.java.lang.String")); assertTrue(errorCodes.contains("NotNull")); fieldError = result.getFieldError("address.street"); assertEquals("address.street", fieldError.getField()); errorCodes = Arrays.asList(fieldError.getCodes()); assertEquals(5, errorCodes.size()); assertTrue(errorCodes.contains("NotNull.person.address.street")); assertTrue(errorCodes.contains("NotNull.address.street")); assertTrue(errorCodes.contains("NotNull.street")); assertTrue(errorCodes.contains("NotNull.java.lang.String")); assertTrue(errorCodes.contains("NotNull")); }
Example #25
Source File: _ExceptionTranslator.java From jhipster-ribbon-hystrix with GNU General Public License v3.0 | 5 votes |
private ErrorDTO processFieldErrors(List<FieldError> fieldErrors) { ErrorDTO dto = new ErrorDTO(ErrorConstants.ERR_VALIDATION); for (FieldError fieldError : fieldErrors) { dto.add(fieldError.getObjectName(), fieldError.getField(), fieldError.getCode()); } return dto; }
Example #26
Source File: ExceptionTranslator.java From xmanager with Apache License 2.0 | 5 votes |
/** * 对hibernate-validator异常错误信息简单处理 * @param error * @return */ private Result getFieldErrorResult(FieldError error) { StringBuilder errorMsg = new StringBuilder(100); errorMsg.append("$(form).find(\"[name=\\\""); errorMsg.append(error.getField()); errorMsg.append("\\\"]\").closest(\"td\").prev().text() + \","); errorMsg.append(error.getDefaultMessage()); errorMsg.append("\""); Result _result = new Result(); _result.setMsg(errorMsg.toString()); return _result; }
Example #27
Source File: SmartGlobalExceptionHandler.java From smart-admin with MIT License | 5 votes |
/** * 添加全局异常处理流程 * * @param e * @return * @throws Exception */ @ResponseBody @ExceptionHandler(Exception.class) public ResponseDTO exceptionHandler(Exception e) { log.error("error:", e); // http 请求方式错误 if (e instanceof HttpRequestMethodNotSupportedException) { return ResponseDTO.wrap(ResponseCodeConst.REQUEST_METHOD_ERROR); } // 参数类型错误 if (e instanceof TypeMismatchException) { return ResponseDTO.wrap(ResponseCodeConst.ERROR_PARAM); } // json 格式错误 if (e instanceof HttpMessageNotReadableException) { return ResponseDTO.wrap(ResponseCodeConst.JSON_FORMAT_ERROR); } // 参数校验未通过 if (e instanceof MethodArgumentNotValidException) { List<FieldError> fieldErrors = ((MethodArgumentNotValidException) e).getBindingResult().getFieldErrors(); List<String> msgList = fieldErrors.stream().map(FieldError :: getDefaultMessage).collect(Collectors.toList()); return ResponseDTO.wrap(ResponseCodeConst.ERROR_PARAM, String.join(",", msgList)); } if (e instanceof SmartBusinessException) { return ResponseDTO.wrap(ResponseCodeConst.SYSTEM_ERROR); } return ResponseDTO.wrap(ResponseCodeConst.SYSTEM_ERROR); }
Example #28
Source File: GlobalExceptionTranslator.java From staffjoy with MIT License | 5 votes |
@ExceptionHandler(MethodArgumentNotValidException.class) public BaseResponse handleError(MethodArgumentNotValidException e) { logger.warn("Method Argument Not Valid", e); BindingResult result = e.getBindingResult(); FieldError error = result.getFieldError(); String message = String.format("%s:%s", error.getField(), error.getDefaultMessage()); return BaseResponse .builder() .code(ResultCode.PARAM_VALID_ERROR) .message(message) .build(); }
Example #29
Source File: ExceptionTranslator.java From ServiceCutter with Apache License 2.0 | 5 votes |
@ExceptionHandler(MethodArgumentNotValidException.class) @ResponseStatus(HttpStatus.BAD_REQUEST) @ResponseBody public ErrorDTO processValidationError(MethodArgumentNotValidException ex) { BindingResult result = ex.getBindingResult(); List<FieldError> fieldErrors = result.getFieldErrors(); return processFieldErrors(fieldErrors); }
Example #30
Source File: RegistrationValidatorTest.java From codenjoy with GNU General Public License v3.0 | 5 votes |
private void assertError(Errors errors, String field, String expectedCode) { assertTrue(errors.getErrorCount() > 0); FieldError fieldError = errors.getFieldError(field); assertNotNull("Error field must have been set", fieldError); assertTrue(String.format("Missing expected error code for field '%s'\nExpected: '%s', actual ones: %s", field, expectedCode, Arrays.toString(fieldError.getCodes())), Arrays.asList(fieldError.getCodes()).contains(expectedCode)); }