Stack Overflow en español Asked by Jandako on November 13, 2021
Hola estoy introduciendome a spring boot MVC con thymeleaf.
He mirado como 20 ejemplos y no consigo dar con la tecla.
Estoy tratando de hacer una validacion de un formulario con los campos nombre y direccion pero siempre acepta el modelo como valido y reenvia a la vista mensajeView.
He probado añadiendo @RequestBody despues de @Valid y tampoco funciona.
Mi modelo:
@Entity
public class Almacen {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "idAlmacen", updatable = false, nullable = false)
private int idAlmacen;
@NotEmpty(message = "La clave no puede estar en blanco")
private String nombre;
@NotEmpty(message = "Error")
private String direccion;
public int getIdAlmacen() {
return idAlmacen;
}
public void setIdAlmacen(int idAlmacen) {
this.idAlmacen = idAlmacen;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getDireccion() {
return direccion;
}
public void setDireccion(String direccion) {
this.direccion = direccion;
}
}
Mi controlador
@PostMapping("/crearAlmacen")
public String crearAlmacenPost(@Valid Almacen almacen, BindingResult result, Model model) {
if (result.hasErrors()) {
return "crearAlmacen";
} else {
model.addAttribute("mensaje","Operacion completada con exito");
return "mensajeView";
}
}
Mi vista:
<form action="#" th:object="${almacen}" th:action="@{/crearAlmacen}" method="post">
<div class="container">
<div class="row justify-content-center align-items-center minh-100">
<div class="col-lg-4">
<h2>Nuevo almacen</h2>
<div class="form-group">
<label for="nombre">Nombre</label>
<input id="nombre" th:field="*{nombre}" placeholder="Nombre" type="text" class="form-control">
<td th:if="${#fields.hasErrors('nombre')}" th:errors="*{nombre}">Error</td>
</div>
<div class="form-group">
<label for="direccion">Dirección</label>
<input id="direccion" th:field="*{direccion}" placeholder="Direccion" type="text" class="form-control">
<td th:if="${#fields.hasErrors('direccion')}" th:errors="*{direccion}">Error</td>
</div>
<button class="btn btn-success" type="submit">Guardar</button>
</div>
</div>
</div>
</form>
Tenía el mismo problema. Agrega esto al pom.xml:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
Luego reinicia tu servidor local de spring boot. Funciona para mi. la solución la encontre aquí: https://stackoverflow.com/questions/48614773/spring-boot-validation-annotations-valid-and-notblank-not-working
Answered by Kener Avila on November 13, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP