#author("2018-02-13T07:24:53+00:00","default:admin","admin") #author("2018-09-03T02:45:40+00:00","default:admin","admin") -[[ASP.NET Core MVC でのモデル検証の概要:https://docs.microsoft.com/ja-jp/aspnet/core/mvc/models/validation]] -[[ASP.NET Core × jQuery Validationでエラーを表示する:https://qiita.com/takasan/items/205de7ac4a5f3567d7c6]] -[[ASP.NET Core におけるバリデーションの基本:http://kuttsun.blogspot.jp/2017/11/aspnet-core_7.html]] -[[ASP.NET Core 2.0 MVC Model Validation:https://www.codeproject.com/Articles/1204077/ASP-NET-Core-MVC-Model-Validation]] -[[ASP.NET Core MVC Client Data Validation - Part 2: jQuery validation:https://www.pluralsight.com/guides/microsoft-net/asp-net-core-mvc-client-data-validation-part-2-jquery-validation]] -[[ASP.NET Core で複雑なバリデーションをする:http://www2.gyafuuuun.com/2017/02/asp-net-core-%E3%81%A7%E8%A4%87%E9%9B%91%E3%81%AA%E3%83%90%E3%83%AA%E3%83%87%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E3%81%99%E3%82%8B/]] *基本 [#u2a73898] **クライアントサイド検証 [#gfac994f] ***必要なライブラリ [#k32c9504] 以下の2つの方法でライブラリをインクルード -手動インクルード 以下のソースを<script>タグでインクルード --[[jquery-validation:https://github.com/jquery-validation/jquery-validation]] --[[jquery-validation-unobtrusive:https://github.com/aspnet/jquery-validation-unobtrusive]] -フォームを含む *.cshtml の最後に以下を追記 @section Scripts { @{await Html.RenderPartialAsync("_ValidationScriptsPartial");} } --これにより、Views/_ValidationScriptsPartial.cshtml の内容がレンダリングされる ***Viewの変更 [#z8ad21ec] -エラーメッセージ表示:モデル検証のみ <div asp-validation-summary="ModelOnly" class="text-danger"></div> -エラーメッセージ表示:全て(カスタム検証も含む) <div asp-validation-summary="All" class="text-danger"></div> **サーバサイド検証 [#i827eae5] **カスタム検証 [#g8e78f03] -[[ASP.NET Core で複雑なバリデーションをする:http://www2.gyafuuuun.com/2017/02/asp-net-core-%E3%81%A7%E8%A4%87%E9%9B%91%E3%81%AA%E3%83%90%E3%83%AA%E3%83%87%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E3%81%99%E3%82%8B/]] ***ValidationAttribute [#c1962f40] ***IValidatableObject [#cf47f6fa] *アノテーション [#ffea172b] -[[[Required] and [BindRequired] in ASP.NET Core MVC:https://www.strathweb.com/2017/12/required-and-bindrequired-in-asp-net-core-mvc/]] -[[Required string attribute with null value gives IsValid=true in ASP.NET Core 2 Razor Page:https://stackoverflow.com/questions/47118980/required-string-attribute-with-null-value-gives-isvalid-true-in-asp-net-core-2-r]] -[[ASP.NET MVC でテキストボックスとラベルに別の書式を使用する:http://redwarrior.hateblo.jp/entry/2016/08/22/090000]] -[[よく使われる入力検証をまとめてみる:http://blog.shibayan.jp/entry/20110708/1310132392]] -[[ASP.NET MVCのモデルでよく使う属性(アノテーション)リスト:https://qiita.com/mrpero/items/607c31895d77815a77cb]] **必須項目 [#o33843a3] -[Required] **文字数制限 [#ie6c3e34] -[MaxLength([Length], ErrorMessage = "[Message]")] **数値範囲制限 [#hc81c678] -[Range([MIN], [MAX], ErrorMessage = "[Message]")] *エラーメッセージ [#y9e038f2] **エラーメッセージの表示 [#m06b3551] ***個別出力 [#fd653aeb] <span asp-validation-for="[モデルのプロパティ名]" class="text-danger"></span> ***一括出力 [#ve7f3bef] -モデル検証のみ <div asp-validation-summary="ModelOnly" class="text-danger"></div> -カスタム検証も込みで全て <div asp-validation-summary="All" class="text-danger"></div> **ローカライゼーション [#rf3dac67] -[[ASP.NET Core のValidationエラメッセージを一括で日本語化する:https://qiita.com/upopo21/items/51089df6e14e658c15be]] -[[ASP.NET Coreでエラーメッセージを日本語で表示する:https://qiita.com/h0ge/items/b7ffd65d0f11ac6382fd]]