0

我尝试验证一个简单的表格。验证执行良好,但结果页面未显示错误。我使用速度来呈现页面。我以 spring 网站的 PetClinic 项目为例。

这是我点击“发布表单”按钮时的控制器:

@Controller
@RequestMapping("/subscription")
public class SubscriptionController {

@RequestMapping(value = "/newCustomer", method = RequestMethod.POST)
public String processSubmit(@ModelAttribute Customer customer, BindingResult result, SessionStatus status) {

    new CustomerValidator().validate(customer, result);
    if (result.hasErrors()) {
        return "subscription";
    }
    else {
        status.setComplete();
        return  "redirect:/admin";
    }
}

}

当我进行调试时,我看到了错误。我在订阅页面上成功重定向,但没有显示错误。

我的网页(简体):

...

            #springBind("customer")
            #springShowErrors("<br/>" "")
            <form class="form-horizontal"  method="post" action="#springUrl("/subscription/newCustomer/")">

                        ....

                        <!-- Button -->
                        <div class="controls">
                            <button class="btn btn-primary">#springMessage("website.subscription.signup")</button>
                        </div>

             </form>

 ...

如果您需要其他任何东西,请随时告诉我。谢谢你的帮助!几天以来,我一直坚持这一点。

4

1 回答 1

0

编辑: 我终于找到了错误。它带有 springBind 标签。我不太明白您需要绑定该字段以显示相关错误。这是 twitter 引导框架的一个字段的固定代码。

                    #springBind("customer.name")
                    <div class="control-group   #if(${status.error})error#end">

                        <!-- Prepended text-->
                        <label class="control-label">#springMessage("website.subscription.name")</label>
                        <div class="controls">
                            <div class="input-prepend">
                                <span class="add-on"><i class="icon-user"></i></span>
                                 <input class="input-xlarge"
                                    placeholder="John Doe" id="name" name="name" type="text">                                   
                            </div>
                            <p class="help-block">                                  
                                #springShowErrors("<br/>" "")
                            </p>
                        </div>

                    </div>

springShowErrors(...) 将显示与 POJO 客户的字段名称相关的所有错误。

于 2013-04-10T08:40:19.880 回答