Asp.net MVC源码分析--Model Validation(Client端)实现(1)
前两篇:http://www.2cto.com/kf/201112/115715.html
http://www.2cto.com/kf/201112/115716.html
前两篇我们介绍了ModelValidatoin Server 端的实现,那么我们知道在Web.config 中如果我们把ClientValidationEnabled 设置为true时,那么客户端也可以支持表单验证了. 那么这部份功能是如果实现的呢?今天让我们来一起学习Model validation client 端的实现.
一.ModelClientValidationRule类
这个类定义了如何输出客户端的一些信息:
• ErrorMessage:取得或设定用户端验证规则的错误讯息。
• ValidationParameters:取得验证参数清单。
• ValidationType:取得或设定验证类型。
1 public class ModelClientValidationRule {
2
3 private readonly Dictionary<string, object> _validationParameters = new Dictionary<string, object>();
4 private string _validationType;
5
6 public string ErrorMessage {
7 get;
8 set;
9 }
10
11 public IDictionary<string, object> ValidationParameters {
12 get {
13 return _validationParameters;
14 }
15 }
16
17 public string ValidationType {
18 get {
19 return _validationType ?? String.Empty;
20 }
21 set {
22 _validationType = value;
23 }
24 }
25 }
复制代码
我们知道了这个类的数据结构,那么这些数据是如何输出的呢?我们看一下RequiredAttributeAdapter类,在这里定义了有一个GetClientValidationRules方法,这个方法返回了ModelClientValidationRequiredRule对象(包含了Required validation 需要输出到客户端的数据).
1 public class RequiredAttributeAdapter : DataAnnotationsModelValidator<RequiredAttribute> {
2 public RequiredAttributeAdapter(ModelMetadata metadata, ControllerContext context, RequiredAttribute attribute)
相关新闻>>
- 发表评论
-
- 最新评论 更多>>