Why blocks are validated instead of transactions?
Some transactions cannot be fully validated outside of blocks.

If you use OP_CLTV, a transaction can be valid only after a certain block height, and not before ; if you don't know which block it's in, there's no way to know if it is valid or not.