Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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 <;形式:错误不起作用_Spring_Hibernate_Spring Mvc - Fatal编程技术网

Spring <;形式:错误不起作用

Spring <;形式:错误不起作用,spring,hibernate,spring-mvc,Spring,Hibernate,Spring Mvc,从早上开始,我就被困在下面的问题中。 在一个地方,同样的东西在起作用,而在第二个地方,它不起作用 未显示错误。 我检查了很多次这个问题被问到,我参考了所有的问题和解决方案,但问题仍然是一样的。按照我在控制器中使用的代码 @RequestMapping(method = RequestMethod.POST) public String findRide(@ModelAttribute("postAd") PostAdRR user,ModelMap model,@Valid PostAd

从早上开始,我就被困在下面的问题中。 在一个地方,同样的东西在起作用,而在第二个地方,它不起作用 未显示错误。 我检查了很多次这个问题被问到,我参考了所有的问题和解决方案,但问题仍然是一样的。按照我在控制器中使用的代码

@RequestMapping(method = RequestMethod.POST)
    public String findRide(@ModelAttribute("postAd") PostAdRR user,ModelMap model,@Valid PostAdRR postAd,
    BindingResult result,HttpSession session,HttpServletRequest request) {
    if (result.hasErrors()) {
        System.out.println(result.toString());

            return "postAd";
     }
即使它进入错误块并打印SOP行

但它并没有表现在形式上

 <form:form method="POST" commandName="postAd" enctype="multipart/form-data" >
     <form:errors path="contactName"  cssClass="Err"/>
同样的代码也在其他地方工作
请提供一些建议。我几乎尝试了所有的组合。

我有点想知道为什么您的示例中的名称不匹配

一方面它是:
中的
联系人姓名
,另一方面它是:
标题

也许这就是原因



如果不起作用,请尝试
(在发件人中)显示所有错误消息。该测试的结果有望帮助您确定问题是在thw视图中还是在控制器中。er

您可以尝试将
@NotNull
@NotEmpty
一起注释。也可以在模型属性之前在控制器中尝试
@Valid
。这些只是猜测,因为您告诉另一个页面正在工作。

我认为问题在于您的控制器函数签名。 您正在对其他对象进行验证,并且您的模型属性是另一个对象。这不是验证对象并在表单上显示错误的正确方法

您的方法签名应如下所示

public String findRide(@Valid @ModelAttribute("postAd") PostAdRR user,ModelMap model, BindingResult result,HttpSession session,HttpServletRequest request)
也就是说,现在将同一对象绑定到要验证的视图

希望这对你有帮助


干杯。

谢谢你的帮助。这是在发布问题时的打字错误,我也尝试了你的建议。但是仍然不走运。我不明白为什么这在第二种形式下不起作用,而同样的配置在第一种形式下起作用。
public String findRide(@Valid @ModelAttribute("postAd") PostAdRR user,ModelMap model, BindingResult result,HttpSession session,HttpServletRequest request)