Por lo que he entendido, puedes implementarlo fácilmente en el BeforePost del dataset, algo así como:
Código Delphi
[-]if qr.field.tipo=1 then begin
if not(isnumber(qr.field.codigo) or not(isnumber(nombre)) then
showmessage('Deben ser números enteros")
end
else qr.field.tipo=2 then begin
...
end
else if qr.field.tipo=3 then
begin
...
end;