Bagaimana untuk menggunakan Java untuk mengesahkan kesahihan data borang?
Dalam pembangunan web, borang ialah salah satu cara penting untuk pengguna berinteraksi dengan tapak web, dan mengesahkan kesahihan data borang adalah langkah penting dalam memastikan data yang dimasukkan oleh pengguna mematuhi format dan peraturan yang diharapkan. Dalam pembangunan Java, kami biasanya menggunakan beberapa rangka kerja pengesahan untuk memudahkan proses ini Artikel ini akan mengambil rangka kerja pengesahan Hibernate Validator sebagai contoh untuk memperkenalkan cara menggunakan Java untuk mengesahkan kesahihan data borang.
1. Perkenalkan kebergantungan Pengesah Hibernate
Pertama, anda perlu menambah kebergantungan Pengesah Hibernate dalam fail pom.xml projek:
<dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artifactId> <version>6.1.5.Final</version> </dependency>
2 Buat model pengesahan borang
Seterusnya, kami perlu mencipta model pengesahan , ini Setiap medan data borang ditakrifkan dalam model, dan medan dianotasi dan peraturan pengesahannya ditentukan.
import javax.validation.constraints.*; public class FormModel { @NotEmpty(message = "姓名不能为空") private String name; // 姓名字段,不能为空 @Email(message = "邮箱格式不正确") private String email; // 邮箱字段,需要满足邮箱格式 @Pattern(regexp = "1[3456789]\d{9}", message = "手机号格式不正确") private String phone; // 手机号字段,需要满足手机号格式 @Min(value = 18, message = "年龄不能低于18岁") @Max(value = 100, message = "年龄不能超过100岁") private Integer age; // 年龄字段,需要在18到100之间 // 省略getter和setter方法 }
Dalam kod di atas, kami menggunakan beberapa anotasi biasa yang disediakan oleh Pengesah Hibernate untuk mentakrifkan peraturan pengesahan medan, contohnya:
3. Sahkan data borang
Selepas menerima data borang yang dihantar oleh pengguna, kami boleh mengesahkan data borang dengan menghubungi kaedah pengesahan Hibernate Validator.
import javax.validation.*; public class FormValidator { public static void main(String[] args) { ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); Validator validator = factory.getValidator(); FormModel form = new FormModel(); form.setName(""); // 姓名为空 form.setEmail("abc.com"); // 邮箱格式不正确 form.setPhone("1234567890"); // 手机号格式不正确 form.setAge(16); // 年龄低于18岁 Set<ConstraintViolation<FormModel>> violations = validator.validate(form); for (ConstraintViolation<FormModel> violation : violations) { System.out.println(violation.getMessage()); } factory.close(); } }
Dalam kod di atas, kami mula-mula mendapatkan contoh Pengesah, kemudian mencipta objek FormModel dan menetapkan beberapa nilai yang tidak mematuhi peraturan. Seterusnya, kami memanggil kaedah validator.validate untuk mengesahkan objek ini dan mendapatkan koleksi pelanggaran. Akhir sekali, kami mengulangi pengumpulan pelanggaran dan mengeluarkan mesej ralat untuk setiap pengesahan yang gagal.
Jalankan kod di atas, anda boleh mendapatkan output berikut:
姓名不能为空 邮箱格式不正确 手机号格式不正确 年龄不能低于18岁
4 Memproses keputusan pengesahan
Dalam projek sebenar, kami biasanya mengembalikan maklumat ralat kepada pengguna atau merekodkannya dalam log apabila pengesahan gagal. Kami boleh menangani ralat ini dengan menyesuaikan kelas pengecualian atau menggunakan set hasil pengesahan yang disediakan oleh rangka kerja.
import javax.validation.*; public class FormValidator { public static void main(String[] args) { ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); Validator validator = factory.getValidator(); FormModel form = new FormModel(); form.setName(""); // 姓名为空 form.setEmail("abc.com"); // 邮箱格式不正确 form.setPhone("1234567890"); // 手机号格式不正确 form.setAge(16); // 年龄低于18岁 Set<ConstraintViolation<FormModel>> violations = validator.validate(form); if (!violations.isEmpty()) { // 处理验证不通过的错误 for (ConstraintViolation<FormModel> violation : violations) { System.out.println(violation.getMessage()); } } else { // 表单数据验证通过,进行其他业务逻辑处理 // ... } factory.close(); } }
Dalam kod di atas, apabila pengesahan gagal, kami merentasi koleksi pelanggaran dan mengeluarkan mesej ralat dan apabila pengesahan berlalu, kami boleh terus memproses logik perniagaan yang lain.
Ringkasan:
Menggunakan Java untuk mengesahkan kesahihan data borang adalah bahagian penting dalam pembangunan web. Sebagai rangka kerja pengesahan yang biasa digunakan, Pengesah Hibernate memberikan kami beberapa anotasi yang mudah dan mudah digunakan yang boleh memudahkan proses pengesahan data borang. Melalui contoh di atas, kami boleh mempunyai pemahaman yang lebih jelas tentang cara menggunakan Java untuk mengesahkan kesahihan data borang, membantu kami memastikan ketepatan dan keselamatan data yang dimasukkan oleh pengguna.
Atas ialah kandungan terperinci Bagaimana untuk mengesahkan kesahihan data borang menggunakan Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!