String
min(n)とmax(m)両方設定して「n未満とmより大きいのは駄目」なスキーマができます。
yup.string().min(2).max(30)emailでメールアドレスじゃないと弾かれるスキーマができます。
yup.string().email()urlで URI な形以外の文字列が弾かれるスキーマができます。
yup.string().url()Number
min(n)とmax(m)両方設定して「数値がn未満とmより大きいのは駄目」なスキーマができます。
yup.number().min(10).max(100)以上と以下の意味にするlessThanとmoreThanもあります。
yup().number().lessThan(10).moreThan(100)Array
input[type=checkbox]などで必須チェックを実装する時に使えます。チェックされた時は['on']、そうでない場合は[]となるので、
yup.array().required()で確認できます。配列のrequiredは要素数が0だと偽として扱います。
Mixed
mixedを使うと「AかBか…どれかなら大丈夫」といったスキーマを作れます。
oneOfを使うと渡した値のどれかなら大丈夫なスキーマができます。
// input からの場合すべて文字列なので
// 33 (数値)ではバリデーションが通らない
yup().mixed().oneOf(['nju', '33'])