проверка входных данных - PullRequest
0 голосов
/ 21 января 2011

Цель: проверить входные данные в моем электронном формуляре.

Вопрос: Какой синтаксический код (аннотации данных) мне нужен, чтобы гарантировать, что данные являются целыми или десятичными?

Ответы [ 3 ]

1 голос
/ 21 января 2011

Связыватель модели по умолчанию должен обрабатывать проверку автоматически, если вы указали свои свойства как 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; }
0 голосов
/ 21 января 2011

Если вы получаете данные из поля ввода, вы можете использовать TryParse для ваших данных. например,

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

... То же самое касается int, с int.TryParse();

0 голосов
/ 21 января 2011

Может быть, я не понимаю вопроса. Для проверки типа данных просто укажите в свойстве свойство желаемого типа (целое или десятичное).

...