Ich möchte eine ganze Zahl beschränken maximal 10 Ziffern von 0 auf eine beliebige Anzahl (XXXXXXXXXX)Wie Integer einschränken zu 10 Stellen können bis
I C# und .NET Web API bin mit
.ie zu ermöglichenin meiner Klasse (CS-) Datei habe ich wie diese eine JSON-Antwort, die ich erhalten
[RegularExpression(@"^\d{1,10}$", ErrorMessage = "Invalid RequestedN")]
[Display(Name = "RequestedN")]
public int RequestedN { get; set; }
verwendet button..I auf klicken meine vorlegen wird durch die Validierung Model in Controller, der JSON (Objekt) validieren. ..
Wenn I 11 Ziffern eingeben wird Nachricht
„JSON integer 91234567890 ist zu groß oder klein für ein Int32 wie unten zeigt. Pfad 'Quotas [0] .RequestedN', Zeile 1, Position 81.“
Aber ich will Nachricht als "Invalid RequestedN"
ich einen anderen RegulaererAusdruck versucht haben, wie unten aber keinen Gebrauch.
^([1-9]|([1-9][0-9])|([1-9][0-9][0-9])|([1-9][0-9][0-9][0-9])|([1-9][0-9][0-9][0-9][0-9])|\d{6}|\d{7}|\d{8}|\d{9}|\d{10})$
vorschlagen eine Idee oder Lösung für dieses Problem
Vielleicht sollten Sie 'public long RequestedN {get; einstellen; } '. Siehe http://stackoverflow.com/questions/4839511/value-was-either-too-large-or-too-small-for-an-int32-facebook-dotnetopenauth –
Möchten Sie diesen Wert wirklich speichern/verarbeiten? als ein 'int'? Da der Bereich von 'int' -2147483648 bis 2147483647 ist, ist es * bereits * nicht möglich, eine Ganzzahl mit mehr als 10 Ziffern (und einige mit 10 Ziffern) zu speichern. Vielleicht möchten Sie stattdessen eine 'Zeichenfolge'? (D.h., werden Sie tatsächlich irgendwelche Berechnungen für diese Zahl durchführen, oder ist es tatsächlich, logisch, eine Reihe von Ziffern?) –
ok, gut. Jetzt möchte ich Int 32 begrenzen, um von 0 bis 2147483647 zu akzeptieren.Dann, was wird der mögliche reguläre Ausdruck sein, der alle Werte von 0 bis 2147483647 –