ich auf einer MVC3 Anwendung arbeitete und ich brauche den Stil der ValidatioSummary Nachricht zu ändern, dies zu tun, habe ich meinen eigenen HTM-Helfer, der wie folgt lautet:angepasst Validation HTML-Helfer nicht auf Client-Seite funktionieren
public static MvcHtmlString MyValidationSummary(this HtmlHelper helper){ string retainHtml +=""; int counterror = 0; if (helper.ViewData.ModelState..IsValid) { TagBuilder tag = new TagBuilder("div"); tag.Attributes.Add("class", "validation-summary-valid"); tag.Attributes.Add("data-valmsg-summary", "true"); tag.InnerHtml += "<span> There was" + countererror + "errors found<ul><li></li></ul>" retainHtml += tag.ToString(); return MvcHtmlString.Create(retainHtml); } if (!helper.ViewData.ModelState.IsValid) { TagBuilder tag = new TagBuilder("div"); tag.Attributes.Add("class", "validation-summary-errors"); tag.Attributes.Add("data-valmsg-summary", "true"); retainHtml +="<div class='validation-summary-errors'><span>"; counterror = 1; string temretainhtml =""; foreach (var key in helper.ViewData.ModelState.keys) } foreach (var err in helper.ViewData.ModelState[key].Errors) temretainhtml += "<li>Error " + countererror++ + " : " + err.ErrorMessage + "</li>"; } retainHtml += "Error ! there was " + --countererror + " errors found"; retainHtml += "</span>"; retainHtml += "<ul>"; retainHtml += temretainhtml; retainHtml += "</ul></div>"; } return MvcHtmlString.Create(retainHtml); } } }
Diese mit Server-Seite Validierung perfekt funktioniert, aber ich brauche auch diese Art auf der Client-Seite Validierung implementieren, gerade jetzt, die Formen der Validation auf der Oberseite der Seite, auf Client-Seite angezeigten Aber mit dem Standard-MVC-Format, nicht dem, das ich in meinem HTML-Helfer angegeben habe, habe ich leider viel recherchiert Ich hatte kein Glück, kann ich Änderungen in der Datei jquery.validate.unobtrusive.js vornehmen müssen, um diese Änderungen zu übernehmen? Oder muss ich eine andere Validierungsdatei in jquery erstellen? Meine Erfahrung in jQuery ist sehr schlecht und ich bin im Moment sehr verloren, jede Hilfe, die Sie mir bitte geben können, wird es wirklich geschätzt.
Vielen Dank !!!
wenn Sie Rasiermesser in Ihrer Ansicht verwenden Ich denke, Sie können steuern, wo und wie Sie das Validierungslabel –
ich tun möchten, am Anfang des Formulars verwende ich meine eigenen Helfer @ Html.MyValidationSummary() direkt nach dem @ using (Html.BeginForm()) aber immer noch funktioniert nicht auf der Client-Seite, wird nur aufgerufen, wenn die Validierung durchgeführt wird die serverseite, irgendwelche ideen? – Cacharry