const validationSchema = Yup.object().shape({
newPassword: Yup.string().min(8, 'Password must be at least 8 characters');
});
_
NewPasswordフィールドが空でない場合にのみ検証を検証したいです。どうやってすることができますか?
この問題を解決するための異なるアプローチがあります。
使用を使用するtest
const validationSchema = Yup.object().shape({
newPassword: Yup.string().test('empty-check','Password must be at least 8 characters',password=>password.length==0
_
いつ
const validationSchema = Yup.object().shape({
newPassword: Yup.string().when('newPassword',{
is:(password)=>password.length>0
then: Yup.string().min(8, 'Password must be at least 8 characters');
});
_
オルタナティブ使用 テスト:
const validationSchema = Yup.object().shape({
newPassword: Yup.string().test(
'empty-or-8-characters-check',
'Password must be at least 8 characters',
password => !password || password.length >= 8,
),
});
_