i'm not sure the official position on this, but my understanding is that notnull is for DB level restrictions, and requires is for CRUD and form validations. it's best to be explicit in my opinion, so setting notnull and the proper requires seems fine to me.
cfh