Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > контролировать вводимые значения в поле


Автор: NieL 5.1.2012, 00:23
в таблице БД есть стринговое поле Code, для которого допустимыми являются строки, содержащие только буквы латинского алфавита, цифры и символ подчеркивания.

может как-то можно на уровне TField контролировать вводимые значения, чтобы не писать функцию для проверки значения поля и не вызывать ее перед каждым назначением полю значения? т.е. 

Код

CodeField.AsString := ACode;
 
<-если пытаемся назначить полю значение содержащее недопустимые символы генерится исключение на уровне TField.

у TField есть свойства ValidChars, HasConstraint, CustomConstraint. Может их можно как-то использовать?

Автор: drkot 10.1.2012, 00:37
Если значение вводится пользователем, то его нужно контролировать в том компоненте в котором оно вводится (edit, grid)
Если же значение составляется программно (не зависимо от пользователя), то оно должно быть всегда правильным и за это отвечает алгоритм его формирования.
Вызывать (провоцировать) исключения не есть корректно, особенно если этого можно избежать

как вариант того что Вы хотите можно создать свойство отвечающее за поле и не заполнять поле напрямую, а только через свойство.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)