|
Валидация вводимого значения посредством ООП
|
|||
---|---|---|---|
#18+
Здравствуйте, есть задача валилации вводимых значений в различные контролы. Например в ячейку DataGridwiev и в textbox, причем правило проверки одно и тоже, например пропускаем только числа. Можно реализовать проверку в каждом контроле отдельно - в DataGridwiev через обработку ProcessCmdKey, в textbox через keypress. Понимаю, что это дублирующий подход, поэтому вопрос-можно как-то через объект ООП (класс, интерфейс- пока не знаю сам) реализовать проверку ввода данных и только ссылаться на этот объект из контролов? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2016, 11:00 |
|
Валидация вводимого значения посредством ООП
|
|||
---|---|---|---|
#18+
Можно просто написать свой метод-обработчик и вставлять его в обработчики по умолчанию ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2016, 11:24 |
|
Валидация вводимого значения посредством ООП
|
|||
---|---|---|---|
#18+
vb_sub, Смотри в сторону интерфейсов IValidatableObject, INotifyPropertyChanged. Объекты, которые ты выводишь в DataGridView реализуют эти интерфейсы, единый механизм смотрит на изменения, запускает проверку и выводит результаты проверки нужным образом (подсвечивает инпуты, пишет текст ошибок). Таким образом каждый объект, выводимый в гриде сам себя валидирует. Это позволяет кроме самых простых проверок задействовать более сложные, например, значение в одном инпуте не должно быть больше, чем значение в другом. Ну и примеров гугол выдаёт море, самые различные реализации. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2016, 15:08 |
|
|
start [/forum/topic.php?fid=20&tid=1400223]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
76ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
2ms |
others: | 272ms |
total: | 434ms |
0 / 0 |