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

  1. hibernate-validator-5. 4. 1. Cuối cùng. cái lọ
  2. hibernate-validator-annotation-processor-5. 4. 1. Cuối cùng. cái lọ
  3. hibernate-validator-cdi-5. 4. 1. Cuối cùng. cái lọ

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





Form Đăng ký


 

Form Đăng ký

Name:

Email:

Age :

Phone :



Ở đâ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

  1. @NotNull thì hiển thị thông báo. You enter into this field
  2. @Min[13] thì hiển thị thông báo. Bạn nhập tuổi ít nhất là 13
  3. @Max[110] thì hiển thị thông báo. Bạn nhập tuổi lớn nhất là 110

Cách thông báo trong tệp tin nhắn. thuộc tính như sau

________số 8

Nhữ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é

Chủ Đề