2016-05-15 12 views
0

angezeigt Ich bin derzeit mit der folgenden Umgebung:Benutzerdefinierte Validierung Nachrichten Feder ist nicht

  • Netbeans 8
  • Jdk 1.7
  • Spring 4
  • Hibernate 5.0.1
  • Bean Validator 1.1

Ich habe folgende Dateien:

  • Servlet-Konfiguration (Frühling):

     <context:component-scan base-package="mz.co.hypervision.web" /> 
    
         <mvc:annotation-driven /> 
    
         <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
         <property name="prefix" value="/WEB-INF/jsp/" /> 
         <property name="suffix" value=".jsp" /> 
         </bean> 
    
         <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> 
         <property name="basename" value="messages"/> 
         </bean> 
    

Student-Klasse:

public class Student { 
    @NotNull(message = "{age.notnull}") 
    private Integer age; 
    private String name; 
    private Integer id; 

    public void setAge(Integer age) { 
     this.age = age; 
    } 
    public Integer getAge() { 
     return age; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 
    public String getName() { 
     return name; 
    } 

    public void setId(Integer id) { 
     this.id = id; 
    } 
    public Integer getId() { 
     return id; 
    } 
} 

Nachrichteneigenschaftsdatei:

Ort: SpringTest \ build \ web \ WEB -INF \ Klassen

# To change this license header, choose License Headers in Project Properties. 
# To change this template file, choose Tools | Templates 
# and open the template in the editor. 

age.notnull=The age of the student may not be null 

AKTUALISIERT

Controller-Code:

import javax.validation.Valid; 
import mz.co.hypervision.domain.Student; 
import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.ModelAttribute; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 
import org.springframework.web.servlet.ModelAndView; 
import org.springframework.ui.ModelMap; 
import org.springframework.validation.BindingResult; 

@Controller 
public class StudentController { 

    @RequestMapping(value = "/student", method = RequestMethod.GET) 
    public ModelAndView student() { 
     return new ModelAndView("student", "student", new Student()); 
    } 

    @RequestMapping(value = "/addStudent", method = RequestMethod.POST) 
    public String addStudent(@ModelAttribute("student") @Valid Student student, 
    BindingResult result, ModelMap model) { 

     if(result.hasErrors()) { 

      return "student"; 
     } else { 
     model.addAttribute("name", student.getName()); 
     model.addAttribute("age", student.getAge()); 
     model.addAttribute("id", student.getId()); 

     return "result"; 
     } 
    } 
} 

Bitte überprüfen Sie unten, dass die Nachricht erscheint als {age.notnull}:

Image with the situation

Bitte unterstützen Bezifferung Warum funktioniert es nicht? Nach meiner Ansicht bin ich jedem Schritt gefolgt es

+0

Erhalten Sie Fehler oder ein unerwartetes message.Provide mehr Details –

+0

Hallo EKEM, ist es gelöst wurde keine Fehlermeldung, die benutzerdefinierte Überprüfungsmeldung erscheint einfach nicht, wenn das Alter null ist Ich sehe einfach: "age.notnull" – rjcossa

+0

Ich vermute, dass Ihre Controller-Logik. Möglicherweise fügen Sie dem Modell die Validierungsfehler nicht hinzu.Posten Sie Ihren Controller-Code –

Antwort

0

Das Problem geschehen, indem Sie die messages.properties Datei auf den Java-Classpath

Verwandte Themen