既存のコードに検証を追加しています。ページには複数のタブがあるため、ビューはajaxを使用してロードされます。JSONオブジェクトを返すことで、検証自体が機能するようになりました。表示されるタブは、JSONオブジェクトにエラーが含まれているかどうかによって異なります。エラーがある場合、新しいページはロードされず、検証エラーがページの上部に表示されます。
問題は、エラーメッセージがページのコンテンツを押し下げますが、コンテナを拡張しないため(高さが固定されていないため)、コンテナを超えて拡張されることです。ページ全体が再描画されていないためだと思いますが、どうすれば修正できますか?jQueryを使用して追加する代わりにinnerHTMLを使用しようとしましたが、違いはなく、ページはまだ歪んでいます。
$.ajax({
type: "POST",
url: actionURL,
datatype: "json",
data: this.GetParams(),
success: function (data) {
if (data.Error) {
//$("#validationErrors").empty().append('<ul>');
//for(var i=0; i<data.ErrorMessages.length; i++) {
//$('#validationErrors').append('<li>' + data.ErrorMessages[i] + '</li>');
//}
//$("#validationErrors").append('</ul>');
document.getElementById('validationErrors').innerHTML = '<ul><li>Username is required</li></ul>'
}
else {
//load another page
}
});