@notblank not working in spring boot
To use the @NotBlank
annotation in Spring Boot, you need to follow these steps:
- Add Dependency: First, make sure you have the necessary dependencies in your project. The
@NotBlank
annotation is part of the Hibernate Validator library, so you need to include it in your project's dependencies. You can add the following dependency to yourpom.xml
file if you are using Maven:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
If you are using Gradle, you can add the following dependency to your build.gradle
file:
implementation 'org.springframework.boot:spring-boot-starter-validation'
- Enable Validation: In your Spring Boot application, you need to enable validation by adding the
@EnableWebMvc
annotation to one of your configuration classes. This annotation enables Spring's validation support:
@Configuration
@EnableWebMvc
public class WebConfig {
// Configuration code
}
- Use
@NotBlank
: Now you can use the@NotBlank
annotation to validate the input of your fields or method parameters. The@NotBlank
annotation ensures that the annotated element must not benull
and must have at least one non-whitespace character. Here's an example:
public class User {
@NotBlank
private String username;
// Getters and setters
}
In the above example, the username
field of the User
class will be validated to ensure that it is not blank.
- Handle Validation Errors: If a validation error occurs, you can handle it in various ways. One common approach is to use Spring's
BindingResult
interface. Here's an example of handling validation errors in a Spring MVC controller:
@PostMapping("/users")
public String createUser(@Valid @RequestBody User user, BindingResult result) {
if (result.hasErrors()) {
// Handle validation errors
}
// Process the user
return "success";
}
In the above example, the @Valid
annotation triggers the validation of the User
object passed in the request body. The validation errors are then stored in the BindingResult
object, which you can use to handle the errors appropriately.
That's it! You have now enabled and used the @NotBlank
annotation in Spring Boot for input validation. Remember to handle the validation errors properly in your application.