私はかなり長い間検索してきましたが、これに対する答えを見つけることができませんでした。
目立たない検証でasp.netMVC3を使用しています。私のモデルは、簡単な検証(必須フィールド、正規表現など)のためにデータ注釈にバインドされています。ただし、サーバーで行われるより複雑な検証があります。ドメインモデルからの検証追加メッセージを返すajax投稿を行っています。私がやりたいのは、既存のメッセージの代わりにそれらの検証メッセージをフォームに配置することです。私が実際に持っているのはメッセージが戻ってくるだけであり、ビュー全体を更新する必要がないため、部分的なビューを使用したくありません。また、フォームに新しいルールや新しい入力を追加していないため、$。validator.unobtrusive.parseは機能しません。これらは私がフォームに入れたいメッセージです。$ .post呼び出しは、フィールドが影響を受けた/影響を受けたメッセージのリストと検証メッセージを返します。
これが私がやろうとしていることの一種です
$.post(url, { someData}, function (data) {
for (message in data.Messages) {
$("#form").validate().addMessage(message.Field, message.Text);
}
});
ご協力いただきありがとうございます
リクエストごとに、返されるJSONのサンプルを次に示します。これはかなり単純です。
{"id":0,"messages":["Level":0,"Message":"Style is required","Name":"Style"}],"operationResult":false}
messagesは、重大度レベル、エラーが属していたプロパティ、およびエラーメッセージを含むオブジェクトのリストです。メッセージオブジェクトの名前を使用して、フォーム上の必要な場所と一致させます。