Erweitern des MVC RequiredAttribute

8

Ich habe eine erweiterte Klasse von RequiredAttribute, die keine Fehlermeldungen zurücksendet. Wenn ich es im Debugger überprüfe, ist der Text dort in Ordnung.

%Vor%

Ich nenne es so

%Vor%

Und die mvc-Ansicht

%Vor%

Es funktioniert, wenn ich die normale Required Annotation verwende

%Vor%

Aber die benutzerdefinierte Nachricht sendet keine Fehlermeldung zurück

    
Eric Herlitz 24.09.2012, 21:42
quelle

1 Antwort

25

Ich hatte auch ein Problem mit der clientseitigen Validierung, als ich mein eigenes Derivat von RequiredAttribute erstellte. Um es zu beheben, müssen Sie Ihre Datenannotation wie folgt registrieren:

%Vor%

Rufen Sie dies einfach in Ihrer Application_Start() -Methode auf und die clientseitige Validierung sollte wie gewohnt funktionieren.

Wenn Ihr Attribut nicht funktioniert, wenn Sie Ihr Formular POSTIEREN, würde dies bedeuten, dass etwas mit der Logik in Ihrem Attribut nicht stimmt (überprüfen Sie die Methode IsValid ). Ich bin mir auch nicht sicher, was Sie mit Ihrer abgeleiteten Datenannotation erreichen möchten. Ihre Logik sieht so aus, als würde sie genau das tun, was das Standardattribut ohnehin macht:

Aus der MSDN-Dokumentation:

  

Eine Validierungsausnahme wird ausgelöst, wenn die Eigenschaft null ist, eine leere Zeichenfolge ("") enthält oder nur Leerzeichen enthält.

    
Benjamin Gale 24.09.2012, 22:01
quelle