このスレッドの投稿を読んだ 後、奇妙な理由でそこに質問を投稿できませんでした:(解決策を得るためにここで質問します
以下のような検証を行う必要があると書いていますか..
- html5 属性 (data-required-msg/validationMessage) をテキスト ボックスに追加し、required 属性も追加します。
- 無効なメッセージのスパンを作成し、それを「data-for」属性を持つフィールドに結び付けます。「名前を入力してください」というメッセージがこのスパンに表示されるはずです。
質問
- これはこれを扱う唯一の方法ですか?
- ViewModel の mvc 属性に関連付ける方法のように、適切なエラー メッセージ (「表示したいエラー メッセージ」) を表示する方法はありませんか。別のポスターが言ったように、これはよりスケーラブルで再利用可能で、より優れたデザインです。
data-for="Name" を使用すると、Model フィールド名の変更がそこに反映されず、忘れられてバグのあるソフトウェアが配信される可能性があるため、非常に脆弱です。次のような型の安全性を失っています
@Html.ValidationMessageFor(m=> m.Name)
コード
public class AViewModel
{
[Required(ErrorMessage="Error Message I want to show")]
public string Name { get; set; }
}
<div class="validation-wrapper">
<div class="input-wrapper">
@Html.TextBoxFor(m => m.Name, new { placeholder = "eg. John Smith", data_required_msg="PleaseEnter name", required="required" } )
</div>
<span class="k-invalid-msg" data-for="Name"></span>
</div>
乾杯、J