Moved MVC Custom Valitation article code from spring-mvc-java to spring-mvc-basics module
This commit is contained in:
parent
e84ea4d4c5
commit
e77faf8d99
@ -13,3 +13,4 @@ The "REST With Spring" Classes: http://bit.ly/restwithspring
|
||||
- [Guide to Spring Handler Mappings](http://www.baeldung.com/spring-handler-mappings)
|
||||
- [Spring MVC Content Negotiation](http://www.baeldung.com/spring-mvc-content-negotiation-json-xml)
|
||||
- [Spring @RequestMapping New Shortcut Annotations](http://www.baeldung.com/spring-new-requestmapping-shortcuts)
|
||||
- [Spring MVC Custom Validation](http://www.baeldung.com/spring-mvc-custom-validator)
|
@ -2,10 +2,7 @@ package com.baeldung.model;
|
||||
|
||||
import com.baeldung.customvalidator.FieldsValueMatch;
|
||||
|
||||
@FieldsValueMatch.List({
|
||||
@FieldsValueMatch(field = "password", fieldMatch = "verifyPassword", message = "Passwords do not match!"),
|
||||
@FieldsValueMatch(field = "email", fieldMatch = "verifyEmail", message = "Email addresses do not match!")
|
||||
})
|
||||
@FieldsValueMatch.List({ @FieldsValueMatch(field = "password", fieldMatch = "verifyPassword", message = "Passwords do not match!"), @FieldsValueMatch(field = "email", fieldMatch = "verifyEmail", message = "Email addresses do not match!") })
|
||||
public class NewUserForm {
|
||||
private String email;
|
||||
private String verifyEmail;
|
@ -1,13 +1,14 @@
|
||||
package com.baeldung.web.controller;
|
||||
|
||||
import com.baeldung.model.ValidatedPhone;
|
||||
import javax.validation.Valid;
|
||||
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.validation.BindingResult;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import com.baeldung.model.ValidatedPhone;
|
||||
|
||||
@Controller
|
||||
public class ValidatedPhoneController {
|
||||
@ -28,5 +29,4 @@ public class ValidatedPhoneController {
|
||||
return "phoneHome";
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -24,7 +24,7 @@
|
||||
<h2>Phone Number</h2>
|
||||
<c:if test="${not empty message}"><div class="message green">${message}</div></c:if>
|
||||
|
||||
<form:form action="/spring-mvc-java/addValidatePhone" modelAttribute="validatedPhone">
|
||||
<form:form action="/spring-mvc-basics/addValidatePhone" modelAttribute="validatedPhone">
|
||||
|
||||
<label for="phoneInput">Phone: </label>
|
||||
<form:input path="phone" id="phoneInput" />
|
@ -5,8 +5,8 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.view;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.test.web.servlet.MockMvc;
|
||||
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
|
||||
@ -15,9 +15,10 @@ import org.springframework.test.web.servlet.setup.MockMvcBuilders;
|
||||
public class ClassValidationMvcIntegrationTest {
|
||||
private MockMvc mockMvc;
|
||||
|
||||
@Before
|
||||
@BeforeEach
|
||||
public void setup() {
|
||||
this.mockMvc = MockMvcBuilders.standaloneSetup(new NewUserController()).build();
|
||||
this.mockMvc = MockMvcBuilders.standaloneSetup(new NewUserController())
|
||||
.build();
|
||||
}
|
||||
|
||||
@Test
|
@ -6,8 +6,8 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.view;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.test.web.servlet.MockMvc;
|
||||
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
|
||||
@ -17,25 +17,27 @@ public class CustomMVCValidatorIntegrationTest {
|
||||
|
||||
private MockMvc mockMvc;
|
||||
|
||||
@Before
|
||||
@BeforeEach
|
||||
public void setup() {
|
||||
this.mockMvc = MockMvcBuilders.standaloneSetup(new ValidatedPhoneController()).build();
|
||||
this.mockMvc = MockMvcBuilders.standaloneSetup(new ValidatedPhoneController())
|
||||
.build();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenPhonePageUri_whenMockMvc_thenReturnsPhonePage() throws Exception {
|
||||
this.mockMvc.perform(get("/validatePhone")).andExpect(view().name("phoneHome"));
|
||||
this.mockMvc.perform(get("/validatePhone"))
|
||||
.andExpect(view().name("phoneHome"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenPhoneURIWithPostAndFormData_whenMockMVC_thenVerifyErrorResponse() throws Exception {
|
||||
this.mockMvc.perform(MockMvcRequestBuilders.post("/addValidatePhone").
|
||||
accept(MediaType.TEXT_HTML).
|
||||
param("phoneInput", "123")).
|
||||
andExpect(model().attributeHasFieldErrorCode("validatedPhone", "phone","ContactNumberConstraint")).
|
||||
andExpect(view().name("phoneHome")).
|
||||
andExpect(status().isOk()).
|
||||
andDo(print());
|
||||
this.mockMvc.perform(MockMvcRequestBuilders.post("/addValidatePhone")
|
||||
.accept(MediaType.TEXT_HTML)
|
||||
.param("phoneInput", "123"))
|
||||
.andExpect(model().attributeHasFieldErrorCode("validatedPhone", "phone", "ContactNumberConstraint"))
|
||||
.andExpect(view().name("phoneHome"))
|
||||
.andExpect(status().isOk())
|
||||
.andDo(print());
|
||||
}
|
||||
|
||||
}
|
@ -16,7 +16,6 @@ The "REST With Spring" Classes: http://bit.ly/restwithspring
|
||||
- [Circular Dependencies in Spring](http://www.baeldung.com/circular-dependencies-in-spring)
|
||||
- [Introduction to HtmlUnit](http://www.baeldung.com/htmlunit)
|
||||
- [Upload and Display Excel Files with Spring MVC](http://www.baeldung.com/spring-mvc-excel-files)
|
||||
- [Spring MVC Custom Validation](http://www.baeldung.com/spring-mvc-custom-validator)
|
||||
- [web.xml vs Initializer with Spring](http://www.baeldung.com/spring-xml-vs-java-config)
|
||||
- [The HttpMediaTypeNotAcceptableException in Spring MVC](http://www.baeldung.com/spring-httpmediatypenotacceptable)
|
||||
- [Spring MVC and the @ModelAttribute Annotation](http://www.baeldung.com/spring-mvc-and-the-modelattribute-annotation)
|
||||
|
Loading…
x
Reference in New Issue
Block a user