preValidate method cannnot handle conditional validation.
so make it possible.