ヘッダー
C# サンプル集
 

半角英数のみであるかチェック(正規表現で)

2024/4/19

この記事は ASP.NET Core Razor Pages を対象にしています。

 

この記事内のサンプルは、プロジェクトテンプレート「ASP.NET Core Web アプリ」を使用して、PagesフォルダーにこのRazorページを追加する前提です。

 

 

半角英数のみであるかチェックする

RegexAlphaNumeric.cshtml.cs

using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;

namespace WorkStandard.Pages.validation
{
    public class RegexAlphaNumericModel : PageModel
    {
        [BindProperty]
        [DisplayName("型番")]
        [RegularExpression("[0-9a-zA-Z]*",ErrorMessage = "{0}は半角英数で入力してください。")]
        public string? ModelNumber { get; set; }

            public void OnPost()
            {
                if (!ModelState.IsValid)
                {
                    return;
                }

            System.Diagnostics.Debug.WriteLine($"エラーなし。{ModelNumber}");
        }
    }
}

Debug.WriteLineが表示される場所

 

RegexAlphaNumeric.cshtml

@page
@model WorkStandard.Pages.validation.RegexAlphaNumericModel

<form method="post">
    <div class="mb-3">
        <label asp-for="ModelNumber"></label>
        <input asp-for="ModelNumber" class="form-control" />
        <span asp-validation-for="ModelNumber" class="text-danger"></span>
    </div>
    <div>
        <input type="submit" class="btn btn-primary" />
    </div>
</form>

@section Scripts {
    @{
        //クライアント側での検証を有効にします。
        await Html.RenderPartialAsync("_ValidationScriptsPartial");
    }
}

主なCSSクラスの効果

  • mb-3 下に少し余白(margin)を設けます。→ 余白
  • form-control inputをBootstrapの外観にします。→ フォーム
  • text-danger 文字を赤くして、危険であることを示します。→ テーマカラー
  • btn btn-primary ボタンをBootstrapの外観にして、主要な機能であることを示します。→ ボタン

 


English