Wie würden Sie eine Checkbox in ASP.Net MVC 2 validieren?

8

Mit MVC2 habe ich ein einfaches ViewModel, das ein Bool-Feld enthält, das in der Ansicht als Kontrollkästchen gerendert wird. Ich möchte bestätigen, dass der Benutzer die Box überprüft hat. Das [Required] -Attribut auf meinem ViewModel scheint nicht den Trick zu machen. Ich glaube, dies liegt daran, dass das ungeprüfte Kontrollkästchen-Formularfeld während des POST nicht zurückgesendet wird und daher die Validierung nicht darauf ausgeführt wird.

Gibt es eine Standardmethode, um die Checkbox "erforderliche" Validierung in MVC2 zu behandeln? Oder muss ich einen benutzerdefinierten Validator dafür schreiben? Ich vermute, dass der benutzerdefinierte Validator aus dem oben genannten Grund nicht ausgeführt wird. Störe ich in meinem Controller explizit darauf? Das scheint chaotisch ...

Jede Anleitung wäre willkommen.

Scott

BEARBEITEN FÜR KLARHEIT: Wie unten in den Kommentaren erwähnt, ist dies ein "stimme zu unseren Bedingungen" Typ von Kontrollkästchen, und daher "nicht überprüft" ist eine gültige Antwort, so dass ich wirklich nach einem "ist geprüft" Validierung.

    
Scott Mayfield 04.05.2010, 16:08
quelle

4 Antworten

13

Ein benutzerdefinierter Validator ist der richtige Weg. Ich poste meinen Code, mit dem ich bestätigt habe, dass der Benutzer die Begriffe akzeptiert ...

%Vor%     
SQueek 04.05.2010, 16:16
quelle
12

Normalerweise verwende ich:

%Vor%     
Jokin 03.02.2011 09:43
quelle
6

Wenn Sie keinen eigenen benutzerdefinierten Validator erstellen und trotzdem vorhandene Attribute im Modell verwenden möchten, können Sie Folgendes verwenden:

%Vor%

Dies stellt sicher, dass der Bereich des booleschen Wertes zwischen wahr und wahr liegt. Auch wenn diese Methode funktioniert, würde ich in diesem Szenario dennoch lieber einen benutzerdefinierten Validator verwenden. Ich dachte nur, ich würde dies als eine Alternative erwähnen.

    
Dangerous 12.09.2011 16:11
quelle
0

Ich suche auch nach einer Möglichkeit, dass der Modellbinder Checkboxen mit booleschen Werten korrekt behandelt. In der Zwischenzeit verwende ich dies in den Aktionen:

%Vor%

Vielleicht wird dir das etwas nützen.

    
Gup3rSuR4c 05.05.2010 00:16
quelle

Tags und Links