No, vy o koze ja o voze.
Validacia vstupu je nieco ine ako typova kontrola.
Typova kontrola je o tom ze do premennej mozete vlozit typ ktory odpoveda deklaracii premennej. Alebo ze funkciu mozete volat len s parametrom rovnakeho typu s akym je deklarovana.
Validacia vstupu je naproti tomu kontrola frormatu ako je ulozena napr. vo vymennom formate, pripadne vstup moze pochadzat s formulara. Takze mame deklarovany typ ako ho pouzivame v kode. Ale format vstupu moze odpovedat /^1?\d{2}%$/
alebo /^(:?0|1)\d{2}$/
alebo /^(:?1\.0{2})|(:?0\.\d{2})$/
a mnoho dalsieho. To ale aky format je na vstupe ide mimo definiciu toto typu. Definicia typu netusi ako ho ukladaju trebars v pakistane, to je nutne deklarovat zvlast. A podla principu DRY, deklarujeme typ zvlast. A jeho validatory a parsery, zvlast. Takze v runtime tak mate ulozeny format pre validaciu s tym ako z neho urobit konkretny typ. Po validacii a parsovani sa vam z neho stane typ ktory predpokladate v kode a nie je ho nutne znova a znova validovat.