Câu hỏi phỏng vấn Spring
Câu hỏi

Làm thế nào để validate dữ liệu form trong Spring Web MVC Framework?

Câu trả lời

Trong Spring Web MVC Framework, việc validate dữ liệu form có thể được thực hiện thông qua sự kết hợp của các annotation validation và BindingResult. Dưới đây là các bước cơ bản để thực hiện validation:

1. Thêm Dependency Validation

Đầu tiên, bạn cần thêm các dependency cần thiết cho validation vào file pom.xml (nếu bạn sử dụng Maven) hoặc build.gradle (nếu bạn sử dụng Gradle). Thông thường, bạn sẽ sử dụng thư viện Hibernate Validator, một cài đặt của Bean Validation API.

<!-- Maven dependency for Hibernate Validator -->
<dependency>
    <groupId>org.hibernate.validator</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>6.1.5.Final</version>
</dependency>

2. Sử dụng Annotation Validation

Trong lớp model của bạn, sử dụng các annotation từ javax.validation.constraints để định nghĩa các ràng buộc validation cho các trường dữ liệu. Ví dụ:

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;

public class UserForm {
    @NotBlank(message = "Username is required")
    private String username;

    @Size(min = 6, message = "Password must be at least 6 characters")
    private String password;

    // Getters and setters...
}

3. Kích Hoạt Validation Trong Controller

Trong controller, sử dụng annotation @Valid để kích hoạt quá trình validation cho đối tượng được bind từ form, và sử dụng BindingResult để nắm bắt kết quả của quá trình validation.

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ModelAttribute;

@Controller
@RequestMapping("/user")
public class UserController {

    @PostMapping("/register")
    public ...
middle

middle

Gợi ý câu hỏi phỏng vấn

middle

Mô tả một số event tiêu chuẩn trong Spring?

middle

Tại sao các controllers là những đối tượng có thể kiểm thử được trong Spring?

middle

Auto wiring bean là gì trong Spring là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào