Здравствуйте, AlexandrV, Вы писали:
AV>В моем инструменте генерации кода (http://www.rsdn.ru/forum/?mid=1057392Автор: AlexandrV
Дата: 05.03.05
), формируется примерно такой код на уровне UI:
AV>AV> protected virtual string Category_IsValidate()
AV> {
AV> string strResult = "";
AV> if (textboxCategory.Text == "")
AV> {
AV> strResult = "Поле не может быть пустым!";
AV> return strResult; //это, по моему, лишнее: даже если проверок несколько, проще воспользоваться else if(...)
AV> }
AV> return strResult;
AV> }
AV> private void textboxCategory_Validating(object sender, CancelEventArgs e)
AV> {
AV> string rez = Category_IsValidate();
AV> if (rez != "")
AV> {
AV> this.objErrorProvider.SetError(textboxCategory, rez);
AV> }
AV> else
AV> {
AV> this.objErrorProvider.SetError(textboxCategory, "");
AV> }
AV> }
AV>
AV>такой код генерится для каждого контрола на форме (плюс если поле не стринговое то проверяется возможность парсинга, например Int32.Parse (...) ).
Да, верно, это форматы, обязательность и т.д., то есть простые первичные проверки (ну, обязательность, кстати, может быть и не простой, например, зависеть от статуса некоторого объекта и выполняемой команды пользователя). А как быть с диапазонами, валидация которых происходит по некоторым правилам, которые могут и измениться (не переписывать же их во всех местах реализации, в самом деле)?