Spring MVC アプリケーションでユーザー入力を検証するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-02 07:41:29
オリジナル
253 人が閲覧しました

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

Spring MVC でユーザー入力を検証する方法

はじめに

Web アプリケーションを構築する場合、ユーザー入力の妥当性を確保する重要です。 Spring MVC はフォーム検証のための複数のメソッドを提供しており、それぞれに利点と特定のシナリオへの適合性があります。

メソッド 1: アノテーションベースの検証

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>
ログイン後にコピー

方法 2: 手動検証

複雑な検証ロジックのために、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-validation)

以上がSpring MVC アプリケーションでユーザー入力を検証するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!