简介
构建 Web 应用程序时,确保用户输入的有效性至关重要。 Spring MVC 提供了多种表单验证方法,每种方法都有其优点和适合特定场景的方法。
方法一:基于注解的验证
Spring 3.x 引入了注解(例如,@NotNull)用于简洁的字段级验证。这些注释是 JSR-303 标准的一部分。
示例:
<code class="java">public class User { @NotNull private String name; // ... }</code>
在控制器中:
<code class="java">@PostMapping("/user") public void createUser(@Valid @ModelAttribute User user, BindingResult result) { // Check for validation errors in the `result` object. }</code>
方法二:手动验证
对于复杂的验证逻辑,Spring 提供了 org.springframework.validation.Validator 接口。可以实现自定义验证器来执行特定的验证。
示例:
<code class="java">public class UserValidator implements Validator { // Validation code here }</code>
在控制器中:
<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>
方法3:混合方法
注释和手动验证可以结合起来。使用注释进行简单验证,使用验证器进行复杂逻辑。
示例:
<code class="java">public class User { @NotNull private String name; // ... }</code>
自定义验证器:
<code class="java">public class UserValidator implements Validator { // Complex validation code here }</code>
在控制器中:
<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>
其他注意事项
参考文献:
以上是如何在 Spring MVC 应用程序中验证用户输入?的详细内容。更多信息请关注PHP中文网其他相关文章!