Может ли ASP.NET MVC 2 Model Validation проверить эти правила с или без пользовательского механизма проверки?
Извините за мой последний ответ, он был немного расплывчатым.Для любой длины или количества символов проверки регулярные выражения являются ключевыми.Однако ваша ситуация немного отличается.
Вот что можно сделать с помощью проверки модели mvc 2:
1. using System;
2. using System.ComponentModel.DataAnnotations;
3.
4. namespace FunWithMvc2RC2
5. {
6. public class Test
7. {
8. // StringLenght
9. [StringLength(5, ErrorMessage = "Maximum 25 Characters")]
10. public string StringLength { get; set; }
11.
12. // Required
13. [Required(ErrorMessage = "Required Field")]
14. public string Required { get; set; }
15.
16. // Required and StringLenght
17. [Required(ErrorMessage = "Required Field")]
18. [StringLength(5, ErrorMessage = "Maximum 25 Characters")]
19. public string Combos { get; set; }
20.
21. // Range Attribute
22. [Range(1, 31, ErrorMessage = "Minimum 1; Maximum 31")]
23. public int Range { get; set; }
24.
25. // RegularExpression Attribute
26. [RegularExpression(@"^(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$", ErrorMessage = "Invalid Email Address")]
27. public string Regex { get; set; }
28.
29. // Custom Regular Expression EmailAttribute
30. [Email(ErrorMessage = "Email Validation")]
31. public string Email { get; set; }
32. }
33. }
Так что я бы сказал, что для пользовательских вещей, таких как список ключей и всес этими встроенными валидаторами это невозможно при использовании правил валидации по умолчанию, включенных в MVC 2. Вам нужно будет создать свои собственные правила валидации.См. Пользовательскую проверку модели на http://haacked.com/archive/2009/11/19/aspnetmvc2-custom-validation.aspx.
Надеюсь, что поможет.