Eu uso o Formik com o Yup, acho ele mais simples haha

Já cheguei a utilizar Formik, uma ótima solução também, mas no meu caso com o Chakra UI se encaixou como uma luva, extremamente simples, basta usar um register(name-field) dentro do input e fechou.