5

Ich bin ein ViewModel in meiner ASP.NET MVC 2-Website mit System.ComponentModel.DataAnnotations Validierungsattributen eingerichtet. Für eines meiner Felder, mit dem Namen Price, möchte ich bestätigen, dass der Wert nicht unter einem gewissen Grad, in diesem Fall 0 ist.ASP.NET MVC 2 und ComponentModel.DataAnnotations Validierung: Mindestwert Attribut

Ich weiß, dass RangeAttribute für die Validierung mit einem niedrigeren und einem oberen Extent existiert, aber tut etwas wie ein MinimumValueAttribute existieren für die Validierung mit nur einem geringeren Umfang?

Wenn nicht, schätze ich, dass ich einfach mein eigenes rollen werde.

+0

nicht vergessen, dass für Server-Seite Ihre eigene ist einfach rollen , aber Sie müssen die Validierung für die Clientseite neu schreiben. –

+0

@rockinthesixstring das war der Grund, warum ich die Frage gestellt habe, anstatt einfach weiterzumachen und meine eigene zu implementieren. Natürlich können Sie Reflector verwenden, um zu sehen, wie 'RangeAttribute' eine clientseitige Validierung durchführt. :) –

+0

yup ... Ich dachte nur, dass es für den nächsten Kerl, der zu dieser Frage kommt, gesagt werden muss. Es ist eine Qual der eigenen Validierung, wenn Sie die Validierung für mehrere Ansichten erneut verwenden müssen. –

Antwort

10

einen Schuss geben, bevor Sie Ihre eigene Rolle - versuchen [Range(0.05, Double.MaxValue)]

+0

Das könnte tatsächlich die sauberste Lösung sein. Wird es für jetzt implementieren, wenn jemand etwas noch sauberer ausgräbt. –

2

Nicht sicher, ob RegularExpression die „beste“ Lösung ist, aber man kann es

"^\$?\d+(\.(\d{2}))?$"