onValidate hook