Ich habe eine Validierung Verpackung Sozialversicherungsnummer (ssn) Boxen. Drei verschiedene Boxen, um genau zu sein. Idealerweise möchte ich folgendes Verhalten haben; Wenn eine Box leer ist, sollte sie als fehlende Information hervorgehoben werden, aber nur eine Nachricht, die angibt, dass die SSN fehlt.Wie markieren Sie ein Feld, aber nicht die Validierung Nachricht in fließenden Validierung
Code:
RuleFor(m => m.Ssnumber1)
.NotEmpty()
.WithMessage("Social security number required");
RuleFor(m => m.Ssnumber2)
.NotEmpty()
.When(m => !string.IsNullOrWhiteSpace(m.Ssnumber1))
.WithMessage("Social security number required")
.NotEmpty()
.When(m => string.IsNullOrWhiteSpace(m.Ssnumber1))
.WithMessage("I don't want a message just highlight");
................ the third ssn box is just the same .............
das Hinzufügen withmessage (String.Empty) oder ein äquivalentes führt zu einem Fehler, weil es eine tatsächliche Nachricht erwartet. Wenn ich jedoch keine Nachricht (keine WithMessage) hinzufüge, wird das Feld nicht hervorgehoben. Wenn ich eine tatsächliche Nachricht hinzufüge, taucht sie auf und überschreibt die Liste der Überprüfungsnachrichten, da eine ssn-Nachricht ausreichend ist.
Ich glaube, ich kann das gleiche Problem wie dieser Kerl haben: Only highlight required fields without showing an error message
Bitte nicht die gleiche Antwort auf mehrere Fragen posten. Wenn die gleiche Information wirklich beide Fragen beantwortet, dann sollte eine Frage (normalerweise die neuere) als ein Duplikat der anderen geschlossen werden. Sie können dies angeben, indem Sie [wählen, um es als Duplikat zu schließen] (http://stackoverflow.com/help/privileges/close-questions) oder, wenn Sie nicht genügend Ansehen dafür haben, [have a flag] (http://stackoverflow.com/help/privileges/flag-posts) um anzuzeigen, dass es sich um ein Duplikat handelt. Andernfalls stellen Sie sicher, dass Sie Ihre Antwort auf * diese * Frage anpassen und nicht einfach dieselbe Antwort an mehreren Stellen einfügen. –