multi-mode validation