質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Framework

Frameworkは、アプリケーションソフトを開発する際に、一般的な機能をより簡単に、より早く完了させる事を目的とした、ソフトウェアやライブラリのセットを指します。開発にフレームワークを使用する事で、追加で必要となる機能だけを開発するだけで済む為、開発効率の向上が見込めます。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

バリデーション

Validationとは特定の入力データが、求められた条件に当てまっているかをチェックするために使われます。

Q&A

解決済

1回答

2516閲覧

Spring Frameworkでバリデーションの対応ができない

uuuuuuuuuuutaro

総合スコア1

Framework

Frameworkは、アプリケーションソフトを開発する際に、一般的な機能をより簡単に、より早く完了させる事を目的とした、ソフトウェアやライブラリのセットを指します。開発にフレームワークを使用する事で、追加で必要となる機能だけを開発するだけで済む為、開発効率の向上が見込めます。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

バリデーション

Validationとは特定の入力データが、求められた条件に当てまっているかをチェックするために使われます。

0グッド

0クリップ

投稿2020/08/27 05:01

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
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/ツールのバージョンなど)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/08/27 05:05

@NotNullや@NotEmptyではどうでしょう。
uuuuuuuuuuutaro

2020/08/27 05:36

原因がわからない状態ですが、実行できるほかのプロジェクトに差し替えたら実行できました。 回答していただきありがとうございます。 ちなみにアノテーションの内容は@NotBlankのままだったので、直接的な原因ではなかったようです<m(__)m>
guest

回答1

0

自己解決

pom.xmlに以下の内容を記述すると各ファイルでバリデーションを利用することができました。

pom

1 <dependency> 2 <groupId>javax.validation</groupId> 3 <artifactId>validation-api</artifactId> 4 </dependency> 5 <dependency> 6 <groupId>org.hibernate.validator</groupId> 7 <artifactId>hibernate-validator</artifactId> 8 </dependency> 9 <dependency> 10 <groupId>org.glassfish</groupId> 11 <artifactId>javax.el</artifactId> 12 <version>3.0.1-b09</version> 13 </dependency>

投稿2020/09/03 04:36

uuuuuuuuuuutaro

総合スコア1

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問