Die Validierung mit Attributen in asp.net mvc ist wirklich nett. Ich habe den [Range(min, max)]
Validator bisher zum Überprüfen von Werten verwendet, wie z.
[Range(1, 10)]
public int SomeNumber { get; set; }
Jetzt muss ich jedoch den Min- und Max-Zustand separat prüfen. Ich hatte erwartet, Attribute wie diese zu finden:
[MinValue(1, "Value must be at least 1")]
[MaxValue(10, "Value can't be more than 10")]
public int SomeNumber { get; set; }
Gibt es vordefinierte Attribute zum Schreiben? Oder wie erreiche ich das?
asp.net-mvc-3
validation
stiank81
quelle
quelle
Antworten:
Hier ist, wie ich einen Validator für MaxValue schreiben würde
Das MinValue-Attribut sollte ziemlich gleich sein
quelle
IClientValidation
Schnittstelle für das obige Attribut implementieren und die korrekten Werte von derGetClientValidationRules
Methode zurückgebenIch glaube nicht, dass ein Min / Max-Validierungsattribut existiert. Ich würde so etwas benutzen
für Mindestwert 1 und
für Maximalwert 10
quelle
RangeAttribute
hatAllowMultiple = false
, kann dies also nicht kompilieren.Ein vollständiges Beispiel dafür, wie dies getan werden könnte. Um zu vermeiden, dass clientseitige Validierungsskripte geschrieben werden müssen, wurde der vorhandene ValidationType = "range" verwendet.
quelle
Das jQuery Validation Plugin implementiert bereits Min- und Max-Regeln. Wir müssen lediglich einen Adapter für unser benutzerdefiniertes Attribut erstellen:
Adapter:
Das Min-Attribut wäre sehr ähnlich.
quelle