Blast-Danは部分的に正しいです。つまり、Key以外のクライアントからサーバーに余分なデータを渡すことはできません。 - 値のペア。あなたは何ができるか
は、しかし、いくつかの検証コードを書き換える必要がないように、クライアントにごDataAnnotationsを伝播しています。複雑なルールでは簡単なことではありませんが、Html.EditorForヘルパーは、jqueryの検証によってシームレスに選択された添付の検証属性を持つ入力用のテキストボックスを生成し、送信するフォームを停止するのに役立ちます。 [必須]、[Range()]、[RegularExpression()]データ注釈について考えてみましょう。
あなたは普通のモデルを作成した場合は簡単な例を参照して、CRUD操作のためのビューを作成するためのウィザードを使用して、Visual Studioでコントローラを追加することができます。 Modelクラスで使用したData Annotationsが出力HTML上でどのようにレンダリングされるのかがわかります。
HtmlHelperを使わずに自分でHTMLを作成している場合は、ノックアウトタグが与えられている可能性があります。this linkからDataAnnotationsModelValidatorProviderとIClientValidatableインターフェイスを確認することができます。
あなたが見ることができるように、これはまだ未知の領域のカントーである:これは控えめなJavaScriptを使用して達成される方法について/
より[検証のためにここに]ブラッド・ウィルソン氏のブログで見つけることができます(http://bradwilson.typepad。 com/blog/2010/10/mvc3-unobtrusive-validation.html)と[ここを挙げる](http://bradwilson.typepad.com/blog/2010/10/mvc3-unobtrusive-ajax.html) – leon
ありがとうレスポンス。しかし、私は、サーバーがJSONデータを返すだけのシナリオで作業しています。サーバー側にはビューエンジンロジックが存在しません。私は、クライアントサイドビューエンジン(ハンドルバー、ひげなど)の使用を検討していました。 –
通常、単純な検証(必須フィールド、データ型など)のためにjquery検証プラグインのようなものを使用します。残念ながら、それらはブラウザで再作成する必要がありますが、あなたはそれほど目立たないすべてのものに対処する必要がないので、かなり簡単に見つけることができます。複雑な検証のために、私は通常それらをサーバー上で行い、jsonレスポンスでフィードバックを提供し、テンプレートに表示したり、同じプラグインで検証を使用したりします。合意されたデータ注釈は、サーバー側に行く方法です。 – drogon