<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      使用 ExtJS 實現 ASP.NET MVC 2 客戶端驗證

      在 ASP.NET MVC 2 中, 客戶端表單驗證信息不再是直接調用微軟自己提供的方法, 而是將客戶端表單驗證的元數據放到了一個變量 (window.mvcClientValidationMetadata) 之中, 為實現第三方的客戶端驗證提供了可能, 由于工作中大量的使用到了 ExtJS ,于是抽時間用 ExtJS 實現了 ASP.NET MVC 2 客戶端驗證機制,主要有如下特點:

      • 只依賴 Ext core 即可使用,不需要完整版本的 ExtJS, 當然,如果有完整版 ExtJS 的話, 還可以調用 Ext.form.VTypes 的表單驗證方法;
      • 使用方法完全遵循 ASP.NET MVC 2 提供的客戶端驗證機制,實現了默認的 required 、regularExpression 、 number 、range 、stringLength 客戶端驗證函數;
      • 可以根據 ASP.NET MVC 2 提供的驗證擴展機制進行相應的擴展。

      使用方法如下:

      1、在要進行驗證的 Model 上添加驗證標記, 代碼如下:

      public class RegisterModel {
      
         [Required(ErrorMessage = "用戶名必須填寫!")]
         [DisplayName("用戶名:")]
         public string UserName {
            get;
            set;
         }
      
         [Required(ErrorMessage = "密碼必須填寫!")]
         [DisplayName("密碼:")]
         [DataType(DataType.Password)]
         public string Password {
            get;
            set;
         }
      
         [Required(ErrorMessage = "郵箱必須填寫")]
         [RegularExpression("", ErrorMessage = "郵件格式不正確!")]
         [DisplayName("郵箱:")]
         public string Email {
            get;
            set;
         }
      
         [Range(0, 100, ErrorMessage = "年齡必須在1~100之間!")]
         [DisplayName("年齡:")]
         [DefaultValue(20)]
         public int Age {
            get;
            set;
         }
      
      }
      

      2、在 View 中添加下面的代碼,除了要使用 ExtJS 的腳本之外, 與普通的 View 沒有什么區別, 代碼如下:

      
      
      
      
      
      ;
      
      
      

      ExtJS 實現 ASP.NET MVC 2 客戶端驗證

      <% Html.EnableClientValidation(); %>; <%= Html.ValidationSummary(true, "輸入信息不完整,無法完成注冊。") %> <% using (Html.BeginForm()) { %> <%= Html.EditorForModel() %> <% } %>;

      運行效果如下圖所示:
      2010-06-05_150039

      如果要做擴展自定義驗證的話,需要做完成下面兩部分:

      1、參考 msdn 文檔,添加服務端驗證擴展, 代碼如下:

      [AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
      public class CustomAttribute : ValidationAttribute {
      
         public override bool IsValid(object value) {
            var val = value as string;
            if (string.IsNullOrEmpty(val)) {
               return false;
            }
            return val.Equals("Hello,world!", StringComparison.OrdinalIgnoreCase);
         }
      }
      
      public class CustomValidator : DataAnnotationsModelValidator {
      
         public CustomValidator(ModelMetadata metadata, ControllerContext context, CustomAttribute attribute)
            : base(metadata, context, attribute) {
         }
      
         public override IEnumerable GetClientValidationRules() {
            return new[] {
               new ModelClientValidationRule {
                  ErrorMessage = "輸入: Hello,world!",
                  ValidationType = "custom"
               }
            };
         }
      }
      

      2、添加對應的客戶端驗證實現,代碼如下:

      Ext.apply(Ext.ux.mvc.VTypes, {
         custom: function(val, param) {
            return val.toLowerCase() == 'hello,world!';
         }
      });
      
      3、在 Model 上添加屬性,使用擴展驗證,代碼如下:

      4、在 App_Start 注冊該擴展,代碼如下:

      DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(CustomAttribute), typeof(CustomValidator));
      

      5、添加擴展之后的運行效果如下圖:
      2010-06-05_150121

      如果你工作中也用到了 ExtJS 和 ASP.NET MVC 2 的話,可以下載這個文件來嘗試一下。

      posted @ 2010-06-05 15:18  張志敏  閱讀(3242)  評論(5)    收藏  舉報
      主站蜘蛛池模板: 亚洲va久久久噜噜噜久久狠狠 | 爆乳喷奶水无码正在播放| 色国产视频| 野外少妇被弄到喷水在线观看 | 亚洲成人av综合一区| 日韩精品一区二区三区vr| 欧美大胆老熟妇乱子伦视频| 久久综合九色综合97欧美| 日韩 高清 无码 人妻| 成人国产av精品免费网| 日韩精品自拍偷拍一区二区| AV人摸人人人澡人人超碰| 国产精品夜夜春夜夜爽久久小| 国产AV永久无码青青草原| 精品视频在线观自拍自拍| 国产精品午夜剧场免费观看| av无码精品一区二区三区宅噜噜| 国产精品久久久久久亚洲色| 亚洲成人精品一区二区中| 久久99久久99精品免视看动漫| 99久久久国产精品免费无卡顿| 亚洲国产成人久久精品不卡| 麻豆国产成人AV在线播放| 亚洲人成亚洲人成在线观看| 精品国产乱码久久久久APP下载| 亚洲欧洲∨国产一区二区三区| 久久精品国产亚洲av麻豆软件| 久久久无码精品午夜| 久热这里只有精品视频六| 一亚洲一区二区中文字幕| 国产日韩精品欧美一区灰| 67194熟妇在线观看线路| 熟女蜜臀av麻豆一区二区| 91亚洲一线产区二线产区| 最新的国产成人精品2020| 亚洲综合一区国产精品| 黄色舔女人逼一区二区三区| 亚洲av成人无码天堂| 蜜臀98精品国产免费观看| 国产美女69视频免费观看| 99精品国产一区二区三|