Warum entfernt {stripUnknown: true} unbekannte Eigenschaften bei der Validierung mit Yup nicht?JavaScript

Javascript-Forum
Guest
 Warum entfernt {stripUnknown: true} unbekannte Eigenschaften bei der Validierung mit Yup nicht?

Post by Guest »

Ich habe das folgende Yup-Schema, das ich mehrfach verwende:

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()
Manchmal brauche ich es, um zu validieren, dass es falsch ist/einen Fehler auslöst, wenn das validierte Objekt zusätzliche (unbekannte) Eigenschaften enthält, und manchmal sollten die zusätzlichen (unbekannten) Eigenschaften ignoriert werden.
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')
}
Ich dachte, dass .noUnknown(true) innerhalb des Schemas keine Probleme verursachen würde, wenn ich dem Anmeldeinformationsobjekt zusätzliche (unbekannte) Eigenschaften hinzufüge, da diese entfernt werden vor der Validierung.
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?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post