目標: 私のe-formularyで入力データを検証します。入力データの妥当性確認
質問: データが整数または小数であることを確認するためには、どのような構文コード(データアノテーション)が必要ですか?
目標: 私のe-formularyで入力データを検証します。入力データの妥当性確認
質問: データが整数または小数であることを確認するためには、どのような構文コード(データアノテーション)が必要ですか?
あなたが入力ボックスからデータが供給されている場合、あなたのデータにTryParse
を使用することができます。例えば
decimal dec;
if(decimal.TryParse(YourInput.Text, out dec))
{
// Valid Decimal
}
else { // Invalid }
...同じことがintの場合、int.TryParse()
となります。
多分私はその質問を理解していません。データ型の検証では、モデルのプロパティを目的の型(intまたはdecimal)にするだけです。
プロパティをintまたはdecimalとして指定した場合は、デフォルトのモデルバインダーが自動的に検証を処理する必要があります。
public class MyObject
{
public int MyProperty { get; set; }
}
The value 'i am a string' is invalid for MyProperty.
あなたがそのようなだけ、あなたはRangeAttributeやRegularExpressionAttribute属性を使用することができ、特定の範囲や書式設定を許可するよう、さらに検証を行うしたい場合:不正な値が入力された場合は、次の検証エラーを取得する必要があります。
[RegularExpression(@"\d+", ErrorMessage="MyProperty must be an int.")]
public int MyProperty { get; set; }
[Range(typeof(Decimal), "20", "25")]
public decimal MyProperty { get; set; }
また、 'RangeAttribute'を整数で使うこともできます。 http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.rangeattribute.aspx – Oded