首頁  >  文章  >  Java  >  如何在 Spring MVC 應用程式中驗證使用者輸入?

如何在 Spring MVC 應用程式中驗證使用者輸入?

Patricia Arquette
Patricia Arquette原創
2024-11-02 07:41:29239瀏覽

How can I validate user inputs in a Spring MVC application?

使用Spring MVC 驗證使用者輸入的方法

簡介

建立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>

在控制器中:

  • 在控制器中:
  • 在控制器中:

在控制器中:

其他注意事項
  • 驗證處理不應與異常處理混淆。
  • 避免在控制器中進行內聯驗證以保持它精益且可維護。
考慮使用自訂驗證註解來抽象化複雜的驗證邏輯。 參考文獻:[Bean使用Spring 驗證](http://www.codejavu.com/platform/spring/bean -validation-with-spring-annotations/)[Spring MVC 中的驗證](https://www.baeldung .com/spring-mvc-validation)[Spring 驗證文件](https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/web.html# mvc-ann-驗證)

以上是如何在 Spring MVC 應用程式中驗證使用者輸入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn