required, additionalProperties, propertyNames, dependentRequired and any other validators that reference property *names* need a way to indicate the erroring names in ValidationErrors
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 35/100
Piste de recherche
Commencez par examiner les champs existants path, schema_path et message de ValidationError, puis étudiez la manière dont les validateurs required, additionalProperties, propertyNames et dependentRequired construisent les erreurs. Le travail est terminé lorsque les erreurs concernées exposent directement les noms des propriétés en cause, avec des tests couvrant les cas de noms de propriétés manquants et invalides sans analyser error.message.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Trying to figure out if there is a way to retrieve the name of a missing required property from an error (without hacking it out of error.message).
For example:
from jsonschema import Draft4Validator as Validator
schema = {
'type': 'object',
'properties': {
'a': {
'type': 'string'
},
'b': {
'type': 'string',
'pattern': '^hello$'
}
},
'required': ['a', 'b']
}
errors = Validator(schema).iter_errors({'b': 'world'})
for error in errors:
print error.path, error.schema_path, error.message
# deque([]) deque(['required']) 'a' is a required property
# deque(['b']) deque(['properties', 'b', 'pattern']) 'world' does not match '^hello$'
In error.path and error.schema_path there is no mention of 'a'. Is there a way to determine that the property missing was 'a' without using error.message?
- Langage dominant
- Python
- Étoiles
- 5k
- Forks
- 706
- Merge moyen
- 2 j 1 h
- PR mergées (30 j)
- 5
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de python-jsonschema/jsonschema
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
python-jsonschema/jsonschema#1588 · 2 commentaires ·
-
Iterator error contexts lose parent links and absolute pathsPeut-être à nouveau libre @DawnofGenX l’a pris il y a 17 jours, et aucune pull request n’est ouverte. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
python-jsonschema/jsonschema#1584 · 3 commentaires ·
-
regex format checker crashes with RecursionError on deeply nested patternsPeut-être pris @DawnofGenX l’a pris il y a 17 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
python-jsonschema/jsonschema#1538 · 1 commentaire ·
-
is_duration raises an uncaught decimal.Overflow on a duration with a large exponentPeut-être à nouveau libre Une pull request pour cette issue a été fermée sans être fusionnée. OuverteNeeds Test Upstream
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
python-jsonschema/jsonschema#1511 · 1 commentaire ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
python-jsonschema/jsonschema#1590 · 5 commentaires ·
Toutes les issues de python-jsonschema/jsonschema
Issues similaires
-
good first issue priority: low size: XS testing
Difficulté 1/5 1-3 heures Accessibilité débutants 86/100
cubrid-lab/cubrid-mcp-server#385 ·
Les mainteneurs répondent en général sous 1 jour
-
good first issue priority: low size: S testing
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
cubrid-lab/cubrid-cookbook-python#447 ·
Les mainteneurs répondent en général sous 1 jour
-
Python PointcloudOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
ArduCAM/Arducam_tof_camera#125 ·
-
area:curator enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
CassioDalla/Scrinalia#150 ·
Les mainteneurs répondent en général sous 1 jour
-
Tutorial notebook: Find the leakOuvertedocumentation good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100