2011-07-08 36 views
1

我想提取驗證規則,然後將它們轉換爲客戶端JavaScript。如何從EntLib驗證塊中提取驗證規則?

我試圖搜索如何在客戶端JavaScript中使用驗證塊,但沒有發現。所以我想自己寫,但我不知道如何提取驗證規則。

任何人都知道該怎麼做?或者,有無論如何使用客戶端JavaScript的驗證塊?沒有通過ajax驗證。謝謝。

回答

0

我發現這個項目ElValWeb

這裏是我的測試代碼:

 public static void ExtractRules(Type targetType , string ruleSet) { 
     var settings = (ValidationSettings)ConfigurationManager.GetSection (ValidationSettings.SectionName); 
     if (settings != null) { 
      var type = settings.Types.Where (t => t.Name == targetType.FullName).FirstOrDefault (); 
      if (type != null) { 
       var data = type.Rulesets.Where (t => t.Name == ruleSet).FirstOrDefault(); 
       if (data != null) { 
        List<ValidatorData> validatorDatas = new List<ValidatorData> (); 
        data.Properties.ForEach ((p) => { 
         validatorDatas.AddRange(p.Validators.Cast<ValidatorData> ()); 
        }); 

        data.Fields.ForEach ((f) => { 
         validatorDatas.AddRange (f.Validators.Cast<ValidatorData> ()); 
        }); 
       } 
      } 
     } 
    }