「東雲 忠太郎」の平凡な日常のできごと

「東雲 忠太郎」の平凡な日常のできごと

2024.03.13
XML
カテゴリ: C#.NET


ASP.NET MVC パターンで入力チェックを実施するサンプルコードを示します。ここでは、モデルの属性を使用して入力検証を行います。


まず、モデルを定義します。


```csharp

using System.ComponentModel.DataAnnotations;


namespace MvcValidationExample.Models

{

    public class User

    {

        [Required(ErrorMessage = "名前を入力してください")]

        public string Name { get; set; }


        [EmailAddress(ErrorMessage = "正しいメールアドレスを入力してください")]

        public string Email { get; set; }


        [Range(18, 120, ErrorMessage = "年齢は18歳以上120歳以下である必要があります")]

        public int Age { get; set; }

    }

}

```


次に、コントローラーでアクションメソッドを定義します。


```csharp

using System.Web.Mvc;

using MvcValidationExample.Models;


namespace MvcValidationExample.Controllers

{

    public class UserController : Controller

    {

        public ActionResult Create()

        {

            return View();

        }


        [HttpPost]

        public ActionResult Create(User user)

        {

            if (ModelState.IsValid)

            {

                // モデルが検証を通過した場合の処理

                return RedirectToAction("Index", "Home");

            }


            // モデルが検証エラーの場合、入力フォームを再表示

            return View(user);

        }

    }

}

```


最後に、ビューを作成します。


Create.cshtml:


```html

@model MvcValidationExample.Models.User


@using (Html.BeginForm())

{

    @Html.ValidationSummary(true)


    <div>

        @Html.LabelFor(model => model.Name)

        @Html.EditorFor(model => model.Name)

        @Html.ValidationMessageFor(model => model.Name)

    </div>


    <div>

        @Html.LabelFor(model => model.Email)

        @Html.EditorFor(model => model.Email)

        @Html.ValidationMessageFor(model => model.Email)

    </div>


    <div>

        @Html.LabelFor(model => model.Age)

        @Html.EditorFor(model => model.Age)

        @Html.ValidationMessageFor(model => model.Age)

    </div>


    <button type="submit">Submit</button>

}

```


このサンプルでは、モデルの各プロパティに入力検証のルールを定義しました。コントローラーのアクションメソッドでは、`ModelState.IsValid` プロパティを使用して、モデルの入力検証が成功したかどうかを確認しています。入力検証が成功した場合は処理を継続し、失敗した場合は入力フォームを再表示します。ビューでは、`@Html.ValidationMessageFor()` ヘルパーメソッドを使用してエラーメッセージを表示します。






お気に入りの記事を「いいね!」で応援しよう

Last updated  2024.03.13 06:16:35


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

© Rakuten Group, Inc.
Create a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: