There are a couple of different ways you can do this. Most likely the easiest way is to send the incoming data to a Conditional Split transformation, and use that conditional split to check whether the critical fields contain a non-empty string, sending any rows with blanks to a named output. Use a Row Count transformation to capture the rows sent to that output, and use a script task to check that row count value and fail the package if it is greater than zero.
If you want to fail the package immediately if a blank value is found in the data, you'll probably have to use a script component, either as a source or transformation.
hth,
Tim