7

Ich habe eine Subsonic3 Active Record generierte partielle Benutzerklasse, die ich mit einigen Methoden in einer separaten Teilklasse erweitert habe.Hinzufügen von DataAnnations zu generierten Teilklassen

Ich würde gerne wissen, ob es möglich ist, Data Annotations zu den Member-Eigenschaften für eine partielle Klasse hinzufügen, wo es auf der anderen Subsonic Generated deklariert ist Ich habe es versucht.

public partial class User 
{ 
    [DataType(DataType.EmailAddress, ErrorMessage = "Please enter an email address")] 
    public string Email { get; set; } 

    ... 
} 

Dieses Beispiel gibt den Fehler "Mitglied ist bereits definiert".

glaube ich ein Beispiel hätte vor einiger Zeit gesehen, was ich versuche, mit Dynamic Data und Linq2Sql zu tun.

Antwort

10

Was Sie tun müssen, ist ein ‚buddy class‘ erstellen und die Daten Anmerkungen zu dieser Klasse gilt:

[MetadataType(typeof(UserValidation))] 
public partial class User 
{ 
    ... 
} 

public class UserValidation 
{ 
    [DataType(DataType.EmailAddress, ErrorMessage = "Please enter an email address")] 
    public string Email { get; set; } 
} 
0

Dies wird direkt Ihre Frage nicht beantworten, aber ich hatte das gleiche Problem, und eher als DataAnnotations mit, ich habe bisher den FluentValidation Rahmen wurde mit {0} mit großem Erfolg. Es funktioniert gut, weil es viel von der gleichen Funktionalität bereitstellt, aber keine Validierung gilt durch Attribute für Mitglieder der Klasse. Validation geschieht in einem völlig separaten Klasse, wirkt auf die Klasse (d.h. UserValidator) validiert wird.

{0}: http://fluentvalidation.codeplex.com/

Verwandte Themen