验证输入数据

时间:2011-01-21 17:50:07

标签: asp.net asp.net-mvc data-annotations

目标: 在我的电子处方集中验证输入数据。

问题: 我需要什么语法代码(dataannotations)来确保数据是int还是十进制?

3 个答案:

答案 0 :(得分: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; }

答案 1 :(得分:0)

也许我不理解这个问题。对于数据类型验证,只需让模型上的属性具有所需类型(int或decimal)。

答案 2 :(得分:0)

如果您从输入框接收数据,则可以对数据使用TryParse。 e.g。

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

...同样适用于int.TryParse();

的int