前提・実現したいこと
ここに質問の内容を詳しく書いてください。
Spring Frameworkでjspで得た値が未入力の場合に
@NotBlankアノテーションでエラーメッセージを表示できるようにしたいです。
発生している問題・エラーメッセージ
バリデーションが無効になりエラーメッセージが表示されないままになっている。
エラーメッセージ
該当のソースコード
jsp
1<?xml version="1.0" encoding="UTF-8" ?> 2<%@ page language="java" contentType="text/html; charset=UTF-8" 3 pageEncoding="UTF-8"%> 4<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %> 5<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 6<html xmlns="http://www.w3.org/1999/xhtml"> 7<head> 8<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 9<title>新規登録</title> 10</head> 11<body> 12 13登録する会員情報を入力してください。<br /> 14<form:form action="insert" modelAttribute="insertUser" > 15 ログインID:<form:input path="userId"></form:input> 16 <form:errors path="userId"></form:errors> 17 <br /> 18 パスワード:<form:input path="password" /><br /> 19 パスワード(確認用):<form:input path="password2" /><br /> 20 会員名:<form:input path="userName" /><br /> 21 電話番号:<form:input path="telNo" /><br /> 22 <form:button>入力確認</form:button> 23</form:form> 24 25</body> 26</html>
form
1package com.example.form; 2 3import javax.validation.constraints.NotBlank; 4 5public class InsertUserForm { 6 @NotBlank 7 private String userId; 8 @NotBlank 9 private String password; 10 @NotBlank 11 private String password2; 12 @NotBlank 13 private String userName; 14 @NotBlank 15 private String telNo; 16 17 public String getPassword2() { 18 return password2; 19 } 20 public void setPassword2(String password2) { 21 this.password2 = password2; 22 } 23 public String getUserId() { 24 return userId; 25 } 26 public void setUserId(String userId) { 27 this.userId = userId; 28 } 29 public String getPassword() { 30 return password; 31 } 32 public void setPassword(String password) { 33 this.password = password; 34 } 35 public String getUserName() { 36 return userName; 37 } 38 public void setUserName(String userName) { 39 this.userName = userName; 40 } 41 public String getTelNo() { 42 return telNo; 43 } 44 public void setTelNo(String telNo) { 45 this.telNo = telNo; 46 } 47 48 49} 50
controller
1@RequestMapping(value="insert", method=RequestMethod.POST) 2 public String insert(@Validated @ModelAttribute("insertUser") InsertUserForm form, 3 BindingResult bindingResult,Model model) { 4 5 if(bindingResult.hasErrors()) { 6 System.out.println("misstake"); 7 return "insertUser"; 8 } 9 System.out.println("success"); 10 model.addAttribute("test","てすと"); 11 12 return "insertUser"; 13 }
pom
1<?xml version="1.0" encoding="UTF-8"?> 2<project xmlns="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 5 <modelVersion>4.0.0</modelVersion> 6 <parent> 7 <groupId>org.springframework.boot</groupId> 8 <artifactId>spring-boot-starter-parent</artifactId> 9 <version>2.3.3.RELEASE</version> 10 <relativePath /> <!-- lookup parent from repository --> 11 </parent> 12 <groupId>com.example</groupId> 13 <artifactId>Spring-MVC-jdbc-1</artifactId> 14 <version>0.0.1-SNAPSHOT</version> 15 <packaging>war</packaging> 16 <name>Spring-MVC-jdbc-1</name> 17 <description>Demo project for Spring Boot</description> 18 19 <properties> 20 <java.version>11</java.version> 21 </properties> 22 23 <dependencies> 24 <dependency> 25 <groupId>javax.validation</groupId> 26 <artifactId>validation-api</artifactId> 27 </dependency> 28 <dependency> 29 <groupId>org.hibernate.validator</groupId> 30 <artifactId>hibernate-validator</artifactId> 31 </dependency> 32 <dependency> 33 <groupId>org.springframework.boot</groupId> 34 <artifactId>spring-boot-devtools</artifactId> 35 </dependency> 36 <dependency> 37 <groupId>org.glassfish</groupId> 38 <artifactId>javax.el</artifactId> 39 <version>3.0.1-b09</version> 40 </dependency> 41 <dependency> 42 <groupId>org.apache.tomcat.embed</groupId> 43 <artifactId>tomcat-embed-jasper</artifactId> 44 <scope>provided</scope> 45 </dependency> 46 <dependency> 47 <groupId>javax.servlet</groupId> 48 <artifactId>jstl</artifactId> 49 </dependency> 50 <dependency> 51 <groupId>org.springframework.boot</groupId> 52 <artifactId>spring-boot-starter-jdbc</artifactId> 53 </dependency> 54 <dependency> 55 <groupId>org.springframework.boot</groupId> 56 <artifactId>spring-boot-starter-web</artifactId> 57 </dependency> 58 59 <dependency> 60 <groupId>org.postgresql</groupId> 61 <artifactId>postgresql</artifactId> 62 <scope>runtime</scope> 63 </dependency> 64 <dependency> 65 <groupId>org.springframework.boot</groupId> 66 <artifactId>spring-boot-starter-tomcat</artifactId> 67 <scope>provided</scope> 68 </dependency> 69 <dependency> 70 <groupId>org.springframework.boot</groupId> 71 <artifactId>spring-boot-starter-test</artifactId> 72 <scope>test</scope> 73 <exclusions> 74 <exclusion> 75 <groupId>org.junit.vintage</groupId> 76 <artifactId>junit-vintage-engine</artifactId> 77 </exclusion> 78 </exclusions> 79 </dependency> 80 </dependencies> 81 82 <build> 83 <plugins> 84 <plugin> 85 <groupId>org.springframework.boot</groupId> 86 <artifactId>spring-boot-maven-plugin</artifactId> 87 </plugin> 88 </plugins> 89 </build> 90 91</project>
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
回答1件
あなたの回答
tips
プレビュー