输入数据的验证

发布于 2024-10-13 06:07:58 字数 67 浏览 7 评论 0原文

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

问题: 我需要什么语法代码(数据注释)来确保数据是整数或十进制?

Goal:
Validate input data in my e-formulary.

Question:
What syntax code (dataannotations) do I need to ensure that data is int or decimal?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

你是我的挚爱i 2024-10-20 06:07:59

如果您已将属性指定为 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; }

The default model binder should handle validation automatically if you have specified your properties as int or decimal. You should get the following validation error if an incorrect value is entered:

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

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

If you would like to do further validation such as only allowing certain ranges or formatting then you could use the RangeAttribute or the RegularExpressionAttribute attributes.

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

[Range(typeof(Decimal), "20", "25")]
public decimal MyProperty { get; set; }
清泪尽 2024-10-20 06:07:59

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

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

...对于 int 也是如此,使用 int.TryParse();

If you are recieving your data from an input box, you can use a TryParse on your data. e.g.

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

...Same goes for an int, with int.TryParse();

灼疼热情 2024-10-20 06:07:59

也许我不明白这个问题。对于数据类型验证,只需使模型上的属性具有所需的类型(整数或十进制)即可。

Maybe I'm not understanding the question. For data type validation, simply have the property on your model be of the desired type (int or decimal).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文