| 

.NET C# Java Javascript Exception

0
Zur Datenvalidierung bei DTOs werden gern die Validierungsattribute der EnterpriseLibrary genutzt. Dort gibt man bspw. folgenden Code an wenn man nicht will das ein String eine bestimmte Länge über- oder unterschreitet.

public class Person
{
[StringLengthValidator(4, 64)]
public string Name {get; set;}
}

Nun frage ich mich ob es nicht vielleicht noch eine Alternative dazu gibt. Bei Stackoverflow habe ich einen recht alten Verweis auf Codecontracs gefunden. Da diese aber in die Property geschrieben werden und nicht als Einzeiler darüber, blasen sie mir den Code etwas zu sehr auf (brauche immer ein Backingfield).

Am liebsten wäre mir etwas, dass sich bereits im Framework befindet. Ähnlich wie hier, wobei das offensichtlich nicht mit WPF genutzt werden kann. Die Zielimplementierung ist übrigens eine Desktopapplikation.
24.03.2011
Hendrik Lösch 1,5k 1 9
1 Antwort
1
Da sich Anforderungen an den Validierungen stets ändern können (z.B. Kundenanforderungen), würde ich nicht auf eine statische Variante setzen (also Attribute). Benutze besser ein Framework, welches sich zur Laufzeit oder per Konfiguration ändern lässt. Sonst müsste man bei Änderungen immer den Code ändern. Das ist absolutes NoGo. Man könnte z.B. Fluent Validation verwenden. Wobei ich nicht sicher bin, inwiefern sich dies mit WPF verheiraten lässt.

Allerdings bringts du da so einige Sachen durcheinander. CodeContracts hat nichts mit Datenvalidierung zu tun. Das hat was mit statischer Code Analyse zu tun. Und DataAnnotations ist für das Entity Framework gedacht.
24.03.2011
Khalid 490 2
Grundsätzlich suche ich eine Möglichkeiten Daten beim Setzen auf ihre Validität zu prüfen. Ich suche also eher nach einer allgemeingültigen Lösung, auf die ich in WPF die Validatoren setzen kann. Ich hätte ungern eine Validierung für WPF, eine für das Entity Framework und evtl. noch eine dritte wenn das Projekt mal als Webapp umgesetzt wird. Immerhin sollten die DTOs möglichst gleich bleiben.
Hendrik Lösch 24.03.2011

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH