Pengenalan
Apabila membina aplikasi web, memastikan kesahihan input pengguna adalah penting. Spring MVC menawarkan pelbagai kaedah untuk pengesahan borang, setiap satu dengan kelebihan dan kesesuaiannya untuk senario tertentu.
Kaedah 1: Pengesahan Berasaskan Anotasi
Spring 3.x memperkenalkan anotasi (cth., @NotNull) untuk pengesahan peringkat medan yang ringkas. Anotasi ini adalah sebahagian daripada standard JSR-303.
Contoh:
<code class="java">public class User { @NotNull private String name; // ... }</code>
Dalam pengawal:
<code class="java">@PostMapping("/user") public void createUser(@Valid @ModelAttribute User user, BindingResult result) { // Check for validation errors in the `result` object. }</code>
Kaedah 2: Pengesahan Manual
Untuk logik pengesahan yang kompleks, Spring menyediakan antara muka org.springframework.validation.Validator. Pengesah tersuai boleh dilaksanakan untuk melaksanakan pengesahan tertentu.
Contoh:
<code class="java">public class UserValidator implements Validator { // Validation code here }</code>
Dalam pengawal:
<code class="java">@PostMapping("/user") public void createUser(@ModelAttribute User user, BindingResult result) { UserValidator validator = new UserValidator(); validator.validate(user, result); // Check for validation errors in the `result` object. }</code>
Kaedah 3: Pendekatan Hibrid
Kedua-dua anotasi dan pengesahan manual boleh digabungkan. Gunakan anotasi untuk pengesahan mudah dan pengesah untuk logik yang kompleks.
Contoh:
<code class="java">public class User { @NotNull private String name; // ... }</code>
Pengesah tersuai:
<code class="java">public class UserValidator implements Validator { // Complex validation code here }</code>
Dalam pengawal:
<code class="java">@PostMapping("/user") public void createUser(@Valid @ModelAttribute User user, BindingResult result, UserValidator validator) { validator.validate(user, result); // Check for validation errors in the `result` object. }</code>
Pertimbangan Tambahan
Rujukan:
Atas ialah kandungan terperinci Bagaimanakah saya boleh mengesahkan input pengguna dalam aplikasi Spring MVC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!