2011-12-05 9 views
0

web.configに「min_payed」というパラメータがあります。検証範囲の最小値を設定しますか?

そして私はモデル

public class Pay 
    { 
     [Required] 
     [Range(10,99999999)] 
     public Decimal Cost { get; set; } 
    } 

私はあなたがすることはできません怖いのweb.config

答えて

1

あなたは、configファイルの<appSettings>セクションからその最小値と最大値を読み込みますカスタム範囲属性書くことができます:

public class ConfigBasedRangeAttribute : RangeAttribute 
{ 
    public ConfigBasedRangeAttribute(): 
     base(GetConfigValue("min"), GetConfigValue("max")) 
    { 
    } 

    private static int GetConfigValue(string key) 
    { 
     return int.Parse(ConfigurationManager.AppSettings["key"]); 
    } 
} 

し、それを使用してモデルを飾るを:

public class Pay 
{ 
    [Required] 
    [ConfigBasedRange] 
    public Decimal Cost { get; set; } 
} 
0

から取得する必要がある最小値を持っています。 IValidatableObject(およびクライアント側のIClientValidatable)を実装するか、構成ファイルをチェックする独自のデータアノテーションを作成する必要があります。

Here's another post dealing with the same issue

関連する問題