Packages are validated just before execution. You can also validate a package with dtExec or managed code.
Projects and packages in the catalog can be validated on the server before execution. You can use SQL Server Management Studio, stored procedures, or managed code to perform the validation.