Spring MVC验证
我在[这里]提出一个问题 :但不幸的是,我没能完全解决这个问题! 我的问题是,当我向表单select元素提交错误的值时,Spring的默认错误就会出现: 无法将java.lang.String类型的属性值转换为属性状态所需的tm.sys.validator.AgentState类型;嵌套异常为org.springframework.core.convert.ConversionFailedException:未能将值ACTIVE3从类型java.lang.String转换为类型@javax.validation.constraints.NotNull tm.sys.validator.AgentState;嵌套异常为java.lang.IllegalArgumentException:无枚举常量tm.sys.validator.AgentState.ACTIVE3Spring MVC验证,spring,validation,jakarta-ee,servlets,spring-mvc,Spring,Validation,Jakarta Ee,Servlets,Spring Mvc,我在[这里]提出一个问题 :但不幸的是,我没能完全解决这个问题! 我的问题是,当我向表单select元素提交错误的值时,Spring的默认错误就会出现: 无法将java.lang.String类型的属性值转换为属性状态所需的tm.sys.validator.AgentState类型;嵌套异常为org.springframework.core.convert.ConversionFailedException:未能将值ACTIVE3从类型java.lang.String转换为类型@javax.va
如何生成自定义处理程序消息,因为这条消息太奇怪了,我的客户端可能会滥用它。请注意,我还使用了一些验证器,我还检查了BindingResult方法,但我找不到覆盖消息的setter 通过使用类型不匹配,我解决了这个问题:
下面是我用来理解类型不匹配概念的示例:问题不在于验证。@n1ckolas已经提出了解决方案。你试过了吗?那个解决方案并没有解决我的问题,这就是为什么我提供这个问题,我搜索了很多次&使用@InitBinder&@ExceptionHandler尝试不同的解决方案,但它们对我不起作用!我不知道如何有效地使用它们来解决我的问题,我所需要的只是一个定制的messagenot spring默认异常消息,当用户传递非法格式时,它会显示在我的jsp中!!!!我刚刚发现了问题。AgentValidator仅仅是一个验证器,还是您也将其用于其他用途?AgentValidator是一个bean类&我将表单值传递给该类&使用验证器库来验证jsp表单值。然后,我使用databinderobj作为控制器方法中的一个参数进行验证&如果jsp中存在任何错误,我将检查以显示错误,使用可能会对您有所帮助。它显示了如何轻松定义自己的消息。