Asp.net mvc 2 ASP.NET MVC 2模型验证能否处理属性包?

Asp.net mvc 2 ASP.NET MVC 2模型验证能否处理属性包?,asp.net-mvc-2,properties,asp.net-mvc-2-validation,Asp.net Mvc 2,Properties,Asp.net Mvc 2 Validation,我一直在阅读有关ASP.NET MVC 2模型验证的文章,我很喜欢这样一个事实,即它会自动将相同的规则应用于客户端和服务器端对象。但是,我看到的所有示例都使用了自定义模型对象。我正在研究的一个设计使用属性包(键->值对列表,如字典),每个属性包可以有不同的验证 比如说 发票编号:字母数字,正好10个字符 用户名:少于50个字符 发票金额:元 ASP.NET MVC 2模型验证是否可以在使用或不使用自定义验证引擎的情况下验证这些规则 能否进行ASP.NET MVC 2模型验证 验证这些规则,无

我一直在阅读有关ASP.NET MVC 2模型验证的文章,我很喜欢这样一个事实,即它会自动将相同的规则应用于客户端和服务器端对象。但是,我看到的所有示例都使用了自定义模型对象。我正在研究的一个设计使用属性包(键->值对列表,如字典),每个属性包可以有不同的验证

比如说

  • 发票编号:字母数字,正好10个字符
  • 用户名:少于50个字符
  • 发票金额:元
ASP.NET MVC 2模型验证是否可以在使用或不使用自定义验证引擎的情况下验证这些规则

能否进行ASP.NET MVC 2模型验证 验证这些规则,无论有无 自定义验证引擎

对不起,我上次的回答有点模糊。对于任何长度或字符数验证,正则表达式都是关键。但是你的情况有点不同

以下是使用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. }  
所以我想说,对于定制的东西,比如使用一个键列表,以及所有内置的validatioin,使用MVC2中包含的默认验证规则是不可能的。您需要制定自己的验证规则。请参见上的自定义模型验证


希望能有所帮助。

我不确定这是如何回答这个问题的。你能详细说明一下吗?