Здравствуйте, Козьма Прутков, Вы писали:
КП>Здравствуйте, AlexandrV, Вы писали:
AV>>В моем инструменте генерации кода (http://www.rsdn.ru/forum/?mid=1057392Автор: AlexandrV
Дата: 05.03.05
), формируется примерно такой код на уровне UI:
AV>>[c#]
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>> }
Да, проверок может быть несколько, а if .. else — имхо, смотрится еще хуже, чем два подряд return; да и, честно говоря, приведенный алгоритм легче генерировать, чем то, что предлагаете вы.
<skipped>
КП>Да, верно, это форматы, обязательность и т.д., то есть простые первичные проверки (ну, обязательность, кстати, может быть и не простой, например, зависеть от статуса некоторого объекта и выполняемой команды пользователя). А как быть с диапазонами, валидация которых происходит по некоторым правилам, которые могут и измениться (не переписывать же их во всех местах реализации, в самом деле)?
я не очень понимаю, что вы хотите, вот ваша фраза:
валидация которых происходит по некоторым правилам эти правила не поддаются алгоритмизации? или вот:
А как быть с диапазонами, валидация которых происходит по некоторым правилам, которые могут и измениться (не переписывать же их во всех местах реализации, в самом деле)? можно, например, сделать некую функцию проверки для каждого аттрибута сущности, и может даже вынести ее в отдельную dll, и использовать ее во всех местах, а исправлять только в одном.