Проверка примитивных типов в ASP.NET MVC - PullRequest
1 голос
/ 30 мая 2010

Я реализовал следующие классы для проверки данных

public abstract class Validated
{
    public bool IsValid { get { return (GetRuleViolations().Count() == 0); } }

    public abstract IEnumerable<RuleViolation> GetRuleViolations();
}

public partial class User: Validated
{
    public override IEnumerable<RuleViolation> GetRuleViolations()
    {
        if (this.Age < 1)
            yield return new RuleViolation("Age can't be less than 1");
    }
}

Отлично работает! Когда форма отправлена, я просто делаю

if (user.IsValid == false) blah...

Но мне все еще нужно подтвердить, что Age - это целое число

int a = 0;
if (!int.TryParse(age, out a))
{
            error = "Not integer";
            // ...
}

Как мне перенести это на мою модель?

1 Ответ

1 голос
/ 30 мая 2010

Привязка модели в ASP.NET MVC выполняет такую ​​проверку автоматически (точнее, она рассматривается как ошибка привязки модели). Пожалуйста, внимательно прочитайте это: http://bradwilson.typepad.com/blog/2010/01/input-validation-vs-model-validation-in-aspnet-mvc.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...