如何使用BindingResult比较和验证我的Thymeleaf表单中LocalTime类型的两个字段?

时间:2018-07-26 20:50:25

标签: spring-boot thymeleaf

我想比较两个,就像比较两个LocalTime firstTime和secondTime。

我想比较一下secondTime是否在firsTime之前,是否有绑定结果验证程序捕获的Thymeleaf形式的消息出错。

这可能吗?谢谢您的帮助

这是我的@Entity 因此,如果在heure_debut之前的heure_fin发送消息到“第一个在第二个之前”的形式,

@Component
@Entity(name="horaire")
public class Horaire {


@Id @GeneratedValue
@Column(name = "id_horaire")
private Integer id;
@NotNull
@Column(name = "heure_debut")
private LocalTime heureDebut;

@NotNull
@Column(name = "heure_fin")
private LocalTime heureFin;


@NotNull
@Size(min = 3, max = 30)
@Column(name = "nom_horaire")
private String nom;

@Column(name = "jour_horaire_fix")
private String horaireFix;

@Future(message = "la date doit être supérieure à la date d'aujourd'hui")
@CheckDateHoraireSpecial(message = "il existe deja un horaire avec cette 
date")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@Column(name = "date_horaire_special")
private LocalDate dateHoraireSpecial;

这是我的@Controller 我使用BindingResult

    @GetMapping("/addHoraireSpecial")
public String addHoraireSpecial(@Valid @ModelAttribute("horaire") Horaire 
horaire, BindingResult bindingResult, @RequestParam(name = "idTerrain", 
 required = false) List<Integer> idT,

                                @RequestParam(name = "idInterval", required = 
    false) Integer id) {


    if (bindingResult.hasErrors()) {
        return "horaire/addHoraireSpecial";

    } else {




        if (idT!=null){
            terrains = metierTerrain.attribuerTerrain(idT);
        }

        mesureInterval=metierMesure.getMesure(id);

        horaire = metierHoraire.attribuerTerrainHoraire(horaire, terrains);
        horaire=metierHoraire.attribuerIntervalMesure(horaire, 
        mesureInterval);


        metierHoraire.addHoraire(horaire);

        return "redirect:/horaire/liste";
    }

   }

我的查看表单

         

Ajouter votre horaire

    <fieldset>
        <input placeholder="l'heure de début" type="time" th:field="* 
       {heureDebut}" tabindex="1" required autofocus>
        <span th:if="${#fields.hasErrors('heureDebut')}" th:errors="* 
      {heureDebut}"></span>
    </fieldset>
    <fieldset>
        <input placeholder="l'heure de fin" type="time" th:field="* 
     {heureFin}" tabindex="2" required>
        <span th:if="${#fields.hasErrors('heureFin')}" th:errors="* 
     {heureFin}"></span>
    </fieldset>

0 个答案:

没有答案