Trình xác thực html java
Please start any. Để bắt đầu, trước tiên chúng ta cần có một số thư viện cần có để sử dụng Trình xác thực Hibernate
yêu cầu Để đảm bảo cho việc vận hành các yêu cầu điều khiển trong ứng dụng Sprung của bạn, chúng tôi thêm vào thẻ theo hướng chú thích. Các bạn có thể tìm hiểu kỹ hơn ở bài viết này. Nhấp chuột. Tất nhiên chúng ta sẽ có các thư viện cần thiết để có thể chạy một ứng dụng Spring MVC Cấu hình Java @Configuration @EnableWebMVC // this does the trick @ComponentScan(basePackages="com.codetutr") public class WebConfig { // beans here } Cấu hình XML Bây giờ , chúng ta có một đối tượng (Object) Người đăng ký cần hợp lệ như sau package entities; import javax.validation.constraints.Max; import javax.validation.constraints.Min; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import org.hibernate.validator.constraints.Email; import org.hibernate.validator.constraints.NotEmpty; public class Subscriber { @Size(min = 2, max = 30) private String name; @NotEmpty @Email private String email; @NotNull @Min(13) @Max(110) private Integer age; @Size(min = 10) private String phone; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } } Tiếp theo chúng ta cần thực hiện công việc xử lý và kiểm tra tại bộ điều khiển Trình điều khiển biểu mẫu. java package controller; import javax.validation.Valid; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import entities.Subscriber; @Controller public class FormController { @RequestMapping(value="form", method=RequestMethod.POST) public String submitForm(@Valid Subscriber subscriber, BindingResult result) { if(result.hasErrors()) { return "form"; } return "form"; } @RequestMapping(value="form", method=RequestMethod.GET) public String submitForm() { return "form"; } } Đơn giản chỉ cần thêm @ Hợp lệ trước đối tượng cần kiểm tra để cho Spring xác nhận đối tượng “Người đăng ký“. Lưu ý rằng chúng ta cũng bổ sung thêm một đối số “BindingResult”. This is the object of Spring giữ kết quả của việc xác nhận và ràng buộc và bao gồm các lỗi có thể xảy ra. The BindingResult must to now after when the object are known as the current is set @ModelAttribute if not Spring will not verify the object and throw a exception Khi Spring thấy “@Valid”, nó sẽ cố gắng kiểm tra các đối tượng đang được xác nhận. Spring tự động chọn các chú thích xác nhận nếu bạn đã kích hoạt “annotation-Driven”. Spring sau đó gọi trình xác nhận và đặt bất kỳ lỗi nào trong BindingResult Tiếp theo, chúng ta sẽ tạo ra một góc nhìn như sau Tạo biểu mẫu tệp. jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib uri="http://www.springframework.org/tags/form" prefix="form" %> Ở đây chúng ta sử dụng biểu mẫu. lỗi” để xuất hiện thông báo lỗi đến đường dẫn được định nghĩa chỉ là đường dẫn Được. Bay giờ chúng ta cùng chạy ứng dụng Spring MVC Khi các bạn nhấn vào nút đăng ký, chúng ta đã hợp lệ khi người dùng nhập sai theo yêu cầu. Tuy nhiên, thông báo lỗi có vẻ hơi tệ ^^. Các vấn đề ở đây tôi muốn thông báo ra để người dùng trải nghiệm tốt hơn thì bạn có thể làm như sau @NotEmpty(message="Email không được rỗng!") @Email(message="Email không nhập đúng định dạng") Điều này thật sự tốt khi chúng ta chạy lại ứng dụng, nó hiển thị được tiếng việt Tuy nhiên khi hợp lệ như thế này thì nó không hỗ trợ quốc tế hóa (không hỗ trợ quốc tế hóa). Nghĩa là một số Chú thích không hiển thị được tiếng việt như mong muốn. Ví dụ như trường Tuổi, chúng tôi muốn hiển thị theo thông báo của chúng tôi. Lúc này, bạn có thể dễ dàng ghi đè lên các tin nhắn mặc định. Để thực hiện công việc này, trước tiên hãy thiết lập gói tin nhắn. Cấu hình Java @Bean public MessageSource messageSource() { ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); messageSource.setBasename("messages"); return messageSource; } Cấu hình XML Bây giờ, hãy tạo một tệp có tên “messages. properties” trong thư mục “WEB-INF/classes“. Chúng ta có thể ghi đè lên các thông báo lỗi mặc định. Thông báo lỗi đã được giải quyết bằng cách sử dụng mẫu sau {Lớp xác thực}. {modelObjectName}. {đồng ruộng} Bây giờ chúng ta thực hiện xác thực cho trường Tuổi, giả sử nếu người dùng không nhập thì thông báo như đã buộc phải tính Tuổi như sau
Cách thông báo trong tệp tin nhắn. thuộc tính như sau ________số 8Những trường khác, các bạn muốn ghi đè nội dung tin nhắn thì làm tương tự Khi chạy ứng dụng chúng ta đã hiển thị thông báo như mong muốn #Tổng kếtĐƯỢC RỒI. Vì vậy, chúng ta đã thực hiện xác thực việc đọc dữ liệu khi người dùng nhập vào biểu mẫu trước khi thực hiện đăng ký người dùng. Hãy luôn ghi nhớ rằng “đừng bao giờ tin vào dữ liệu người dùng nhập vào“, vì thế luôn xác thực dữ liệu trước khi lưu vào hệ thống nhé |