首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取被拒绝的值null spring验证

获取被拒绝的值null spring验证
EN

Stack Overflow用户
提问于 2014-06-02 05:22:36
回答 1查看 9.8K关注 0票数 1

嗨,在我的项目中,当我试图验证我的表单时,它不会显示任何错误消息,即使验证失败(即使表单没有提交并进入验证失败块)

以下是我的代码

代码语言:javascript
复制
      /****************** Post Method *************/
       @RequestMapping(value="/property", method = RequestMethod.POST)
        public String saveOrUpdateProperty(@ModelAttribute("property") Property property, 
                BindingResult result, 
                Model model, 
                HttpServletRequest request) throws Exception {
                try {
                        if(validateFormData(property, result)) {
                            model.addAttribute("property", new Property());
                            return "property/postProperty";


                }
}


/********* Validate Block *************/
    private boolean validateFormData(Property property, BindingResult result) throws DaoException {
    if (property.getPropertyType() == null || property.getPropertyType().equals("")) {
        result.rejectValue("propertyType", "Cannot Be Empty !", "Cannot Be Empty !");
    } 
    if (property.getTitle() == null || property.getTitle().equals("")) {
        result.rejectValue("title", "Cannot Be Empty !", "Cannot Be Empty !");
    }
    return (result.hasFieldErrors() || result.hasErrors());
}

但是当我调试的时候,我可以看到下面的一个

代码语言:javascript
复制
org.springframework.validation.BeanPropertyBindingResult: 1 errors
Field error in object 'property' on field 'title': rejected value [null]; codes [Cannot Be Empty !.property.title,Cannot Be Empty !.title,Cannot Be Empty !.java.lang.String,Cannot Be Empty !]; arguments []; default message [Cannot Be Empty !]

这就是我在jsp文件中的显示方式。

代码语言:javascript
复制
<div class="control-group">
        <div class="controls">
        <label class="control-label"><span class="required">* </span>Property Type</label>
            <div class="controls">  
                <form:input path="title" placeholder="Pin Code" cssClass="form-control border-radius-4  textField"/>
                <form:errors path="title" style="color:red;"/>
            </div>
        </div>
    </div>

事件,但当我在调试时看到下面的事件时(1错误正确)

代码语言:javascript
复制
org.springframework.validation.BeanPropertyBindingResult: 1 errors

为什么它没有显示在jsp中?有人可以帮助我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-02 05:47:05

我认为你看不到任何东西,因为在下面的第二行,你销毁了你的模型(包括你的验证错误)并创建了一个新的模型。

代码语言:javascript
复制
    if(validateFormData(property, result)) {
     model.addAttribute("property", new Property());  // <------
     return "property/postProperty";

尝试显示作为参数传入的属性,您可能会看到验证错误。

代码语言:javascript
复制
    if(validateFormData(property, result)) {
     model.addAttribute("property", property);  
     return "property/postProperty";
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23984618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档