2011-01-21 16 views
0

目標: 私のe-formularyで入力データを検証します。入力データの妥当性確認

質問: データが整数または小数であることを確認するためには、どのような構文コード(データアノテーション)が必要ですか?

答えて

0

あなたが入力ボックスからデータが供給されている場合、あなたのデータにTryParseを使用することができます。例えば

decimal dec; 
if(decimal.TryParse(YourInput.Text, out dec)) 
{ 
    // Valid Decimal 
} 
else { // Invalid } 

...同じことがintの場合、int.TryParse()となります。

0

多分私はその質問を理解していません。データ型の検証では、モデルのプロパティを目的の型(intまたはdecimal)にするだけです。

1

プロパティをintまたはdecimalとして指定した場合は、デフォルトのモデルバインダーが自動的に検証を処理する必要があります。

public class MyObject 
{ 
    public int MyProperty { get; set; } 
} 

The value 'i am a string' is invalid for MyProperty. 

あなたがそのようなだけ、あなたはRangeAttributeRegularExpressionAttribute属性を使用することができ、特定の範囲や書式設定を許可するよう、さらに検証を行うしたい場合:不正な値が入力された場合は、次の検証エラーを取得する必要があります。

[RegularExpression(@"\d+", ErrorMessage="MyProperty must be an int.")] 
public int MyProperty { get; set; } 

[Range(typeof(Decimal), "20", "25")] 
public decimal MyProperty { get; set; } 
+0

また、 'RangeAttribute'を整数で使うこともできます。 http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.rangeattribute.aspx – Oded

関連する問題