目标: 在我的电子处方集中验证输入数据。
问题: 我需要什么语法代码(dataannotations)来确保数据是int还是十进制?
答案 0 :(得分:1)
如果已将属性指定为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; }
答案 1 :(得分:0)
也许我不理解这个问题。对于数据类型验证,只需让模型上的属性具有所需类型(int或decimal)。
答案 2 :(得分:0)
如果您从输入框接收数据,则可以对数据使用TryParse
。 e.g。
decimal dec;
if(decimal.TryParse(YourInput.Text, out dec))
{
// Valid Decimal
}
else { // Invalid }
...同样适用于int.TryParse()
;