Code: Select all
const loginYupSchemaSpam: Yup.AnySchema = Yup.object().shape({
email: Yup.string()
.required()
.strict()
.email()
.max(320),
password: Yup.string()
.required()
.strict()
.min(8)
.max(18)
.matches(
/^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\$%\^&\*])/
)
.trim()
.matches(
/^(?!.* )/
)
})
.noUnknown(true)
.strict()
Daher dachte ich, dass es nicht nötig ist, ein zusätzliches Schema zu ändern oder zu erstellen, wenn ich {stripUnknown: true wie im folgenden Code verwende:
Code: Select all
if (!loginYupSchemaSpam.isValidSync(credentials, { stripUnknown: true })) {
errorTracker = true
return setError('Email or password is wrong')
}
Aber ich habe mich geirrt, ich erhalte immer noch die Fehlermeldung, dass es unbekannte Eigenschaften gibt.
Ich habe bereits versucht, .strict() zu entfernen, weil ich Ich dachte, vielleicht kann es nichts entfernen, weil das Strippen das nicht zulässt validiertes Objekt in irgendeiner Weise ändern.
Es würde mir sehr seltsam vorkommen, wenn mir nicht etwas fehlt, da ich der Meinung bin, dass übergebene Optionen ansonsten eine höhere Priorität haben sollten als das Schema selbst Warum überhaupt Optionen zulassen?