Spring MVCフォーム - フィールドにエラーがあるかどうかをチェックする

Spring MVCフォーム–フィールドにエラーがあるかどうかを確認します

この記事では、フィールドにエラーメッセージがあるかどうかを確認するためのSpringform tagの例をいくつか紹介します。 次のSpring MVC Bean検証の例を確認します。

使用される技術:

  1. 春4

  2. JSTL 1.2

//Bean validation
import org.hibernate.validator.constraints.NotEmpty;
public class User {

    @NotEmpty
    String name;
    //...
}

//Controller class
@RequestMapping(value = "/users", method = RequestMethod.POST)
public String saveOrUpdateUser(
    @ModelAttribute("userForm") @Valid User user,
    BindingResult result, Model model) {

    if (result.hasErrors()) {
        //...
    } else {
        //...
    }
}

1. 形式:エラー

「名前」フィールドにエラーメッセージがある場合は、form:errorsを介して表示できます

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


    
    
    

2. spring:bindおよびform:errors

spring:bindを使用すると、${status.error}を使用して、「name」フィールドにエラーがあるかどうかを確認し、条件付きで異なるCSSクラスを表示できます。


    
    

エラーメッセージは引き続きform:errorsを介して表示されますが、この方法でより多くのコントロールを取得できます。

3. c:setおよびform:errors

例2と同じように、代わりにc:setを使用して、「name」フィールドにエラーメッセージがあるかどうかを確認します。


    
        
    

    
${nameHasBindError}

この例は少し奇妙ですが、動作します。

4. すべてのエラーを表示する

送信されたフォームにすべてのエラーメッセージを表示するには、spring:hasBindErrorsを使用し、${errors.allErrors}をループします

    
    
        
        

または、path="*"を使用します