For information, in the LCL compatible Jedi framework, TJvValidators is handy, and was created for this: you can create validators items (several TJvCustomValidator items inside a TJvValidators component) in order to validate all types of input values (check the right type, in a good range, ...). Each specialized TJvCustomValidator item can point to an input control (TEdit, TMaskEdit, TJv..., ...\...), obtaining the value to be validated.