Overriden TTable Problem

Dear Delphi Developers,
  I have a problem about my overrided Table : I want to encapsulate ALL
TFields into MY TTable, and
define OnValidate event into a event handler WITHIN the SAME unit. And
thern I test it in a new project.
But I found my event handler doesn't being notified. The Source as follow :

unit mytable;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  DB, DBTables;

type
  GameHardType = (Saturn, N64, Playstation, ThreeDo, NeoGeo, PCFX);
  TTableTable = class(TTable)
  private
    { Private declarations }
    FGameHard : GameHardType;
    procedure CheckName(Sender: TField);
    procedure CheckTel(Sender: TField);
{    procedure Table1NAMEValidate(Sender: TField);}
  protected
    { Protected declarations }
  public
    { Public declarations }
     TableName : TStringField;
     TableTel : TStringField;
     constructor Create(Owner: TComponent); override;
     destructor Destroy; override;
  published
    { Published declarations }
    property GameHard : GameHardType read FGameHard write FGameHard;
  end;

procedure Register;

implementation

constructor TTableMine.Create(Owner: TComponent);
begin
   inherited Create(Owner);
   self.DatabaseName := 'IBLOCAL';
   self.TableName := 'Table';
{   self.Active := True;}
   TableName := TStringField.Create(self);
   TableName.DisplayLabel := 'Name';
   TableName.FieldName := ' Name';
   TableTel := TStringField.Create(self);
   TableTel.DisplayLabel := 'Name';
   TableTel.FieldName := ' Name';
   TableName.OnValidate := CheckName;
   TableTel.OnChange := CheckTel;
end;

destructor TTableMine.Destroy;
begin
  inherited Destroy;
end;

procedure TTableMine.CheckName(Sender: TField);
begin
  if TableName.Text < 'a' then
    raise EDatabaseError.Create('Name Must be Greater than ''a''');
end;

procedure TTableMine.CheckTel(Sender: TField);
begin
  if TableTel.Text < 'a' then
    raise EDatabaseError.Create('Tel Must be Greater than ''a''');
end;

procedure Register;
begin
  RegisterComponents('MyComp', [TTableMine]);
end;

end.

Pls Help me, I am in the Hell's Edge if next week end is came ! (Dead Line)