C# サンプル集 |
Visual Basic 中学校 > C# サンプル集 > C# サンプル集目次 > ASP.NET Core > Razor Pages
入力値が一致するかチェック
2024/4/14
この記事は ASP.NET Core Razor Pages を対象にしています。
この記事内のサンプルは、プロジェクトテンプレート「ASP.NET Core Web アプリ」を使用して、PagesフォルダーにこのRazorページを追加する前提です。
メールアドレスと確認用メールアドレスが一致するかチェックする
SameValueValidation.cshtml.cs
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
namespace WorkStandard.Pages.validation
{
public class SameValueValidationModel : PageModel
{
[BindProperty]
[DisplayName("メールアドレス")]
[DataType(DataType.EmailAddress)]
[Required(ErrorMessage = "{0}は省略できません。")]
[Display(Name = "メールアドレス")] //CompareのErrorMessageの{1}はこの値
public string? MailAddress { get; set; }
[BindProperty]
[DisplayName("確認用メールアドレス")]
[DataType(DataType.EmailAddress)]
[Required(ErrorMessage = "{0}は省略できません。")]
[Compare(nameof(MailAddress),ErrorMessage = "{1}と異なります。")]
public string? ConfirmMailAddress { get; set; }
public void OnPost()
{
if (!ModelState.IsValid)
{
return;
}
System.Diagnostics.Debug.WriteLine($"エラーなし。{MailAddress} {ConfirmMailAddress}");
}
}
}
SameValueValidation.cshtml
@page
@model WorkStandard.Pages.validation.SameValueValidationModel
<form method="post">
<div class="mb-3">
<label asp-for="MailAddress"></label>
<input asp-for="MailAddress" class="form-control" />
<span asp-validation-for="MailAddress" class="text-danger"></span>
</div>
<div class="mb-3">
<label asp-for="ConfirmMailAddress"></label>
<div class="form-text">確認用に同じメールアドレスを入力してください。</div>
<input asp-for="ConfirmMailAddress" class="form-control" />
<span asp-validation-for="ConfirmMailAddress" class="text-danger"></span>
</div>
<div>
<input type="submit" class="btn btn-primary" />
</div>
</form>
主なCSSクラスの効果