Проверка аннотаций Spring с использованием @BindingResult - PullRequest
0 голосов
/ 07 мая 2020

Я разрабатываю простое приложение Spring MVC. У меня есть controller, называемые CustomerController и customer-form.jsp, для отображения моих form и customer-confirmation.jsp для отображения результата и Customer для проверки формы.

Я пытаюсь выполнить проверку поля lastname, которое не позволяет пользователю оставить его пустым. В контроллере я использую BindingResult, чтобы контролировать ввод данных пользователем, поэтому форма не должна позволять пользователю оставлять последнее имя пустым, но, к сожалению, его дозы. Понятия не имею, что не так.

@Controller
@RequestMapping("/customer")
public class CustomerController {
    @RequestMapping("/showForm")
    public String showForm(Model theModel){
        theModel.addAttribute("customer",new Customer());
        return "customer-form";

    }
@RequestMapping("/processForm")
    public String processForm(
            @Valid @ModelAttribute("customer") Customer theCustomer,
            BindingResult theBindingResult

){
        if(theBindingResult.hasErrors()){
            return "customer-form";
        }
        else{
        return"customer-confirmation";
}
    }
}

public class Customer {
    private String firstName;
    @NotNull(message = "is requiard")
    @Size(min = 1)
    private String lastName;


    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
}

форма клиента. jsp

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>costomer form</title>
    <style>
        .error{color: red}
    </style>
</head>
<body>
<form:form action="processForm"  modelAttribute="customer">
    FirstName: <form:input path="firstName"/>
    <br/><br/>
    LastName(*): <form:input path="lastName"/>
    <form:errors path="lastName" cssClass="error"/>
    <br/><br/>
    <input type="submit" value="submit">


</form:form>
</body>
</html>

подтверждение клиента. jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<html>
<head>
    <title>Title</title>
</head>
<body>
${customer.firstName}
<br/><br/>
${customer.lastName}
hello costomet
</body>
</html>

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...