Hi Jamie,
Personally I would prefer pre validation to be done
before bookContractor gets called.
From the perspective of a person trying to debug your code: class A calls class B which calls class C with the result of a call in class A.
If you can do the validation prior to this, then it should be easier to debug.
Just my 2 cents worth.
Regards, Andrew