For a simple case like this where there's only one validation that depends on the checkbox value it'd be easy enough to use the expression validator, which accepts arbitrary expressions.
Anything substantially more complicated than that and I usually end up pushing the validation into Java by using a validate() method.