In meinem MVC3-Projekt speichere ich Punktevorhersagen für Fußball / Fußball / Hockey / ... Sportspiel. Eine der Eigenschaften meiner Vorhersageklasse sieht also so aus:
[Range(0, 15, ErrorMessage = "Can only be between 0 .. 15")]
[StringLength(2, ErrorMessage = "Max 2 digits")]
[Remote("PredictionOK", "Predict", ErrorMessage = "Prediction can only be a number in range 0 .. 15")]
public int? HomeTeamPrediction { get; set; }
Jetzt muss ich int
in meinem Fall auch die Fehlermeldung für einen Datentyp ändern . Es wird eine Standardeinstellung verwendet: "Das Feld HomeTeamPrediction muss eine Zahl sein." Sie müssen einen Weg finden, wie Sie diese Fehlermeldung ändern können. Diese Validierungsnachricht scheint auch eine Vorhersage für die Remote-Validierung zu treffen.
Ich habe [DataType]
Attribut ausprobiert , aber dies scheint keine einfache Zahl in der system.componentmodel.dataannotations.datatype
Aufzählung zu sein.
quelle
Versuchen Sie einen dieser regulären Ausdrücke:
hoffe es hilft: D.
quelle
int.MaxValue
deckt nur bis2.147.483.647
Verwenden Sie Regex in Datenanmerkungen
quelle
[0-9]+
?quelle
Versuchen Sie dieses Attribut:
Außerdem müssen Sie das Attribut im Validator-Plugin registrieren:
quelle
Fast ein Jahrzehnt ist vergangen, aber das Problem gilt auch weiterhin für Asp.Net Core 2.2.
Ich habe es geschafft, indem ich
data-val-number
dem Eingabefeld die Verwendungslokalisierung für die Nachricht hinzugefügt habe :quelle
ASP.NET Core 3.1
Dies ist meine Implementierung der Funktion. Sie funktioniert sowohl auf der Serverseite als auch bei der JQuery-Validierung und ist wie jedes andere Attribut unauffällig mit einer benutzerdefinierten Fehlermeldung:
Das Attribut:
Clientseitige Logik:
Und schließlich die Verwendung:
quelle