|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我想实现在一个里面里 验证用户输入的数据 如果合乎要求 用户可以点击Confirm按钮 进入confirm页面 如果用户输入不符合验证要求 会提示相应错误 但是无法实现 下面是我的所有代码 请问问题出在哪
/Udemy1/src/main/java/com/example/demo/app/inquiry/InquiryController.java中代码如下
package com.example.demo.app.inquiry;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/inquiry")
public class InquiryController {
@GetMapping("/form")
public String form(InquiryForm inquiryForm, Model model) {
model.addAttribute("title", "Inquiry Form");
return "inquiry/form";
}
@PostMapping("/confirm")
public String confirm(@Validated InquiryForm inquiryForm,
BindingResult result,
Model model) {
if(result.hasErrors()) {
model.addAttribute("title", "Inquiry Form");
return "inquiry/form";
}
model.addAttribute("title", "Confirm Page");
return "inquiry/confirm";
}
}
/Udemy1/src/main/java/com/example/demo/app/inquiry/InquiryForm.java中代码如下
package com.example.demo.app.inquiry;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
public class InquiryForm{
public InquiryForm() {}
public InquiryForm(String name, String email, String contents) {
super();
this.name = name;
this.email = email;
this.contents = contents;
}
private int id;
public InquiryForm(int id, String name,String email, String contents) {
super();
this.id = id;
this.name = name;
this.email = email;
this.contents = contents;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@Size(min = 1, max = 20, message="Please input 20 characters or less")
private String name;
@NotNull
@Email(message = "Invalid E-mail Format")
private String email;
@NotNull
private String contents;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getContents() {
return contents;
}
public void setContents(String contents) {
this.contents = contents;
}
}
/Udemy1/src/main/resources/templates/inquiry/confirm.html中代码如下
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title th:text="${title}">Insert title here</title>
</head>
<body>
<h1 th:text="${title}">仮のタイトル</h1>
<p>入力内容をご確認ください</p>
<p th:text="${inquiryForm.name}"></p>
<div th:object="${inquiryForm}">
<p th:text="*{name}"></p>
<p th:text="*{email}"></p>
<p th:text="*{contents}"></p>
<form method="post" action="#" th:action="@{/inquiry/form}">
<input type="hidden" name="name" th:value="*{name}">
<input type="hidden" name="email" th:value="*{email}">
<input type="hidden" name="contents" th:value="*{contents}">
<input type="submit" value="Go Back">
</form>
<form method="post" action="#" th:action="@{/inquiry/complete}">
<input type="hidden" name="name" th:value="*{name}">
<input type="hidden" name="email" th:value="*{email}">
<input type="hidden" name="contents" th:value="*{contents}">
<input type="submit" value="Complete">
</form>
</div>
</body>
</html>
/Udemy1/src/main/resources/templates/inquiry/form.html中代码如下
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title th:text="${title}">Insert title here</title>
</head>
<body>
<h1 th:text="${title}"></h1>
<form method="post" action="#" th:action="@{/inquiry/confirm}" th:object="${inquiryForm}">
<label for="name">Name:</label>
<input id="name" name="name" type="text" th:value="*{name}"><br>
<div th:if="${#fields.hasErrors('name')}" th:errors="*{name}"></div>
<label for="email">Email:</label>
<input id="email" name="email" type="text"><br>
<div th:if="${#fields.hasErrors('email')}" th:errors="*{email}"></div>
<label for="contents">Detail :</label>
<textarea name="contents" id="contents" rows="3" cols="40" th:field="*{contents}"></textarea><br>
<div th:if="${#fields.hasErrors('contents')}" th:errors="*{contents}"></div>
<input type="submit" value="Confirm">
</form>
</body>
</html>
请问无法实现用户输入校验是哪里出问题了 要怎么解决
|
|