validator - validation data annotation




Agregar DataAnnontations a clases parciales generadas (2)

Tengo una clase de usuario parcial generada por el registro activo Subsonic3 que he ampliado con algunos métodos en una clase parcial separada.

Me gustaría saber si es posible agregar anotaciones de datos a las propiedades de miembro en una clase parcial donde se declara en el otro generador subsónico. Lo intenté.

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

    ...
}

Ese ejemplo muestra el error "El miembro ya está definido".

Creo que podría haber visto un ejemplo hace un tiempo de lo que estoy tratando de hacer con Dynamic Data y Linq2Sql.


Lo que tendrá que hacer es crear una ' clase de amigo ' y aplicar las Anotaciones de datos a esa clase:

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

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

Esto no responderá directamente a su pregunta, pero tuve el mismo problema, y ​​en lugar de utilizar DataAnnotations, he estado utilizando el marco de FluentValidation {0} con gran éxito hasta el momento. Funciona muy bien porque proporciona muchas de las mismas funcionalidades, pero no aplica la validación mediante el uso de atributos en los miembros de la clase. La validación ocurre en una clase completamente separada que actúa en la clase que se valida (es decir, UserValidator).

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





partial-classes