Я новичок в MVC / MVP и изучаю его, создав приложение Winform.
Я до некоторой степени создал модели, презентаторы и представления ... Где теперь мои проверки подходят.
Я думаю, что начальная проверка типа данных (например, только числа в поле «Возраст») должна выполняться представлением. В то время как другие проверки (например, находится ли возраст в пределах 200) должны выполняться моделью.
Что касается проверки типа данных, мое представление предоставляет значения как свойства
public int? Age
{
get
{
int val;
if (Int32.TryParse(TbxAge.Text, out val))
{
return val;
}
return null;
}
set
{
TbxAge.Text = value;
}
}
Я могу выполнить проверку отдельно, но как я могу сообщить докладчику, что проверка еще не завершена, когда он пытается получить доступ к свойству Age ?. В частности, когда поле является необязательным.
Хорошо ли генерировать исключение, ожидающее проверки, но тогда докладчик должен улавливать его в каждой точке.
Я правильно понимаю, или я что-то упускаю.
Обновление (для для ясности): В этом простом случае, когда поле возраста является необязательным, что мне делать, когда пользователь вводит свое имя вместо числа. Я не могу передать значение null, так как это будет означать, что поле было оставлено пустым пользователем. Итак, как мне сообщить докладчику, что введены неверные данные ...