Brad Willson a un excellent article sur la description de l'utilisation de DataAnnotations. http://bradwilson.typepad.com/blog/2009/04/dataannotations-and-aspnet-mvc.html Ce que je voudrais faire est d'étendre les attributs disponibles que je peux utiliser. Quelque chose comme [PastDate (vous devez entrer une date dans le passé)] ou [InvoiceNumber (toutes les factures commencent par INV et se terminent par 002)]. Je sais que je pourrais utiliser l'attribut Expression régulière pour accomplir ceci. Cependant, avoir plus d'attributs descriptifs serait une solution plus propre.Extension des attributs DataAnnotations pour MVC dans asp.net
0
A
Répondre
1
Vous devez créer une classe qui hérite de System.ComponentModel.DataAnnotations.ValidationAttribute
puis utiliser cet attribut comme ceci:
public class yourModel {
[CustomValidation(typeof(yourClass), "yourMethod")]
public int yourProperty { get; set; }
}
N'a pas essayé mais cela devrait fonctionner.
0
J'ai un peu d'entre eux dans mon projet - certains utilisent encore des expressions régulières, mais au moins cette façon, ils sont seulement dans un seul endroit:
public class TelephoneAttribute : RegularExpressionAttribute
{
public TelephoneAttribute()
: base(@"^\(?(\d{3}\)?)((-|)?\d{3})(-?\d{4})$") { }
}
Et plus comme ce que votre exemple:
public class MinimumDateAttribute : RangeAttribute
{
public MinimumDateAttribute(string MinimumDate)
: base(typeof(DateTime), MinimumDate, DateTime.MaxValue.ToShortDateString()) { }
}
Questions connexes
- 1. asp.net mvc 2 DataAnnotations validation
- 2. ASP.NET MVC - DataAnnotations pour la validation client
- 3. MVC DataAnnotations Test
- 4. Extension AccountController: ASP.NET MVC Membres
- 5. Validation conditionnelle de portions d'un modèle ASP.NET MVC avec DataAnnotations?
- 6. Attributs conditionnels - Asp.Net MVC View
- 7. Extension du mécanisme de routage Asp.Net MVC
- 8. Contrôleurs ASP.NET MVC et extension du cadre
- 9. Extension de WebFormView dans MVC
- 10. Masquage des attributs de contrôle dans ASP.Net
- 11. Combinaison de DataAnnotations Validation avec des règles métier complexes
- 12. Extension d'assistance MVC
- 13. Comment faire pour conserver les attributs des contrôles utilisateur ASP.NET
- 14. ValidationSummary Via Asynchrone - ASP.NET MVC
- 15. Problème de mélange des formulaires Web dans l'application ASP.NET MVC
- 16. Will_paginate pour ASP.NET MVC
- 17. Extension de ASP.NET DropDownList
- 18. Comment faire des tests unitaires pour IgnoreRoute dans ASP.NET MVC
- 19. Test des HtmlHelpers dans ASP.NET MVC
- 20. Générer des liens dans ASP.NET MVC?
- 21. Engine pour ASP.net MVC
- 22. LoginStatus pour ASP.Net MVC?
- 23. Utilisation des vues partielles dans ASP.NET MVC
- 24. Comment ajouter des attributs d'invite d'aide à Business Objects dans MVC et afficher dans la vue
- 25. des espaces dans les vues asp.net mvc
- 26. Gestion des caractères spéciaux - dans asp.net MVC
- 27. Passer des types anonymes dans ASP.NET MVC
- 28. Réglage maxlength et d'autres attributs HTML en utilisant des méthodes d'aide ASP.NET MVC
- 29. ASP.NET MVC Globalisation des Vues
- 30. Gestion des exceptions ASP.NET MVC
Oui, tout attribut dérivé de ValidationAttribute fonctionnera. –