Add validateCustomIfEmpty() method

Override to allow custom validators to propagate errors even if the field is not required() and empty.