Spring MVC Form - Проверьте, есть ли в поле ошибка

Spring MVC Form - Проверьте, есть ли в поле ошибка

В этой статье мы покажем вам несколько примеров Springform tag, чтобы проверить, есть ли в поле сообщение об ошибке. Просмотрите следующий пример проверки bean-компонента Spring MVC:

Используемые технологии:

  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. форма: ошибки

Если в поле «name» есть сообщение об ошибке, вы можете отобразить его с помощьюform:errors

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


    
    
    

2. весна: привязка и форма: ошибки

С помощьюspring:bind вы можете использовать${status.error}, чтобы проверить, есть ли в поле «имя» ошибку, и условно отобразить другой класс CSS.


    
    

Сообщение об ошибке по-прежнему отображается черезform:errors, но таким образом вы получаете больше элементов управления.

3. c: установить и форма: ошибки

То же, что и в примере 2, вместо этого вы используетеc:set, чтобы проверить, есть ли в поле «имя» сообщение об ошибке.


    
        
    

    
${nameHasBindError}

Этот пример немного странный, но он работает.

4. Показать все ошибки

Чтобы отобразить все сообщения об ошибках в отправленной форме, используйтеspring:hasBindErrors и зациклите${errors.allErrors}

    
    
        
        

В качестве альтернативы используйтеpath="*"