Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring MVC验证_Spring_Validation_Jakarta Ee_Servlets_Spring Mvc - Fatal编程技术网

Spring MVC验证

Spring 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

我在[这里]提出一个问题 :但不幸的是,我没能完全解决这个问题! 我的问题是,当我向表单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.ACTIVE3


如何生成自定义处理程序消息,因为这条消息太奇怪了,我的客户端可能会滥用它。请注意,我还使用了一些验证器,我还检查了BindingResult方法,但我找不到覆盖消息的setter

通过使用类型不匹配,我解决了这个问题:
下面是我用来理解类型不匹配概念的示例:

问题不在于验证。@n1ckolas已经提出了解决方案。你试过了吗?那个解决方案并没有解决我的问题,这就是为什么我提供这个问题,我搜索了很多次&使用@InitBinder&@ExceptionHandler尝试不同的解决方案,但它们对我不起作用!我不知道如何有效地使用它们来解决我的问题,我所需要的只是一个定制的messagenot spring默认异常消息,当用户传递非法格式时,它会显示在我的jsp中!!!!我刚刚发现了问题。AgentValidator仅仅是一个验证器,还是您也将其用于其他用途?AgentValidator是一个bean类&我将表单值传递给该类&使用验证器库来验证jsp表单值。然后,我使用databinderobj作为控制器方法中的一个参数进行验证&如果jsp中存在任何错误,我将检查以显示错误,使用可能会对您有所帮助。它显示了如何轻松定义自己的消息。