Ich habe ein Schema geschrieben, aber es scheint nicht zu validieren, wie ich erwartet hatte. Ich nehme an, dass etwas mit meiner Schemasyntax nicht stimmt, aber ich kann es nicht herausfinden. Ich erwarte, dass keine Fehlermeldungen für Titel oder Ziel angezeigt werden, bis die Spendenaktion abgeschlossen ist, da sie nur erforderlich sind, wenn die Spendenaktion abgeschlossen ist. Ich habe viele Kombinationen ausprobiert, aber keiner von ihnen funktioniert wie erwartet, diese beiden kommen mir am nächsten, was ich brauche.Ajv Schlüsselwörter und benutzerdefinierte Fehlermeldungen
Schema Versuch ein: zeigt 4 Fehlermeldungen, 3 erforderliche Fehler und 1 Fehler, der sagt, dass Daten "dann" Schema übereinstimmen sollten.
const schema = {
required: ['fundraiser'],
if: {
properties: {
fundraiser: { type: 'string' },
},
},
then: {
required: ['title', 'target'],
},
errorMessage: {
required: {
fundraiser: 'Please select an option',
title: 'Please enter a title',
target: 'Please enter a target',
},
},
};
Schema Versuch zwei: zeigt zwei Fehlermeldungen, 1 erforderlich Fehler und 1 Fehlermeldung, Daten sollten „dann“ Schema übereinstimmen, was richtig ist, aber wenn ich dann komplett Fundraiser gültig wird wahr, was ist, wenn ich erwarten Dann sehen Sie die erforderlichen Fehler für Titel und Ziel. Auch keine Fehler haben meine benutzerdefinierten Fehlermeldungen definiert. mit AJV-Fehler
const scema = {
if: {
properties: { fundraiser: { minLength: 2 } },
then: { required: ['title', 'target'] },
},
then: { required: ['fundraiser'] },
errorMessage: {
required: {
fundraiser: 'Please select an option',
title: 'Please enter a title',
target: 'Please enter a target',
},
},
};
Ich bin mir ziemlich sicher, dass ich etwas falsch mit meinem Schema tue, aber es ist aus der Dokumentation nicht klar, wie wenn/dann mit benutzerdefinierten Fehlermeldungen in Kombination zu verwenden. Jede Hilfe würde sehr geschätzt werden! Vielen Dank!