ヘルパーを使用せずに MVC で目立たない検証を実行することは可能ですが、開発者が mvc ヘルパーを使用せずに手動で検証を行うのは非常に困難です。厳密に言えば、パフォーマンスが低下し、コードが読めなくなります。
基本的に、目立たない検証は 2 つの部分で構成されます。モデル フィールドと MVC ヘルパーへのデータ属性を介して必要なマークアップを生成するサーバー側と、これらのマークアップを意味のある部分に解析するクライアント側ライブラリjquery.validate.unobtrusive.jsです。 jquery 検証プラグイン。
したがって、一般に、必要なマークアップを手動で記述できます。検証 js ライブラリが読み込まれる限り、検証は機能します。たとえば、検証の対象となるフィールドは、data-val='true' 属性でマークする必要があります。フィールドを必須にしたい場合は、data-val-required="error message" のように追加で記述する必要があります。長さの検証 - data-val-length-min="5" (明らかに最小) data-val-length-max="50" (最大長)、data-val-length="Min 5 max 50 chars required" .
一方、通常の mvc アプローチを使用する場合、モデル属性の問題にすぎません。
[Required]
[StringLength(50, MinimumLength = 5)]
public string Name { get; set; }
およびマークアップ内の 1 行のコード:
@Html.TextBoxFor(o=>o.Name)
素晴らしく、光沢があり、ビューとモデルを分離し、KISS を支援します。
そして、あなたの質問の2番目の部分について。私が問題を正しく理解していれば、動的フォームを検証する必要があります。おそらく答えになるでしょう:
jquery.validate.unobtrusiveが動的に注入された要素で機能しない