Wie kann ich während der Validierung in ASP.NET MVC Warnungen ausgeben?

Manchmal sind Benutzereingaben nicht unbedingt ungültig, können aber als problematisch angesehen werden.

Zum Beispiel:

Ein Benutzer gibt einen langen Satz in einer Zeile einName Feld.Er hätte das wohl benutzen sollenDescription Feld statt.Ein Benutzer gibt einName Das ist dem einer bestehenden Einheit sehr ähnlich.Vielleicht gibt er dieselbe Entität ein, merkt aber nicht, dass sie bereits vorhanden ist, oder ein gleichzeitiger Benutzer hat sie gerade eingegeben.

Einige davon können einfach clientseitig überprüft werden, andere erfordern serverseitige Überprüfungen.

Was ist der beste Weg, vielleicht etwas ähnliches zuDataAnnotations Validierung,den Benutzer in solchen Fällen zu warnen? Der Schlüssel hierbei ist, dass der Benutzer in der Lage sein muss, die Warnung zu überschreiben und das Formular dennoch zu übermitteln (oder das Formular je nach Implementierung erneut zu übermitteln).

Die sinnvollste Lösung, die mir in den Sinn kommt, besteht darin, ein Attribut zu erstellen, das einem ähneltCustomValidationAttribute, die möglicherweise einen AJAX-Aufruf tätigen und einen Warnungstext anzeigen, den jedoch nicht beeinflussenModelState. Der Verwendungszweck ist folgender:

[WarningOnFieldLength(MaxLength = 150)]
[WarningOnPossibleDuplicate()]
public string Name { get; set; }

In der Ansicht:

@Html.EditorFor(model => model.Name)
@Html.WarningMessageFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)

Also irgendwelche Ideen?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage