Dataset is not passed to context in StopOnError()
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 65/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- php
- Área
- backend-api-design
Línea de trabajo
Look at the StopOnError rule implementation to see how it creates a ValidationContext for its nested rules. The dataset should be passed from the outer context. Check the Callback rule usage in the test suite to understand the expected behavior. Verify the fix by running existing validation tests, especially those involving nested Each and StopOnError.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description
Current scope's dataset is not set in context inside StopOnError():
'property' => [
new Callback(
function (mixed $value, Callback $rule, ValidationContext $context): Result {
$context->getDataSet()->getData(); // <= dataset array
}
),
new StopOnError([
new Callback(
function (mixed $value, Callback $rule, ValidationContext $context): Result {
$context->getDataSet()->getData(); // <= null (bug)
}
),
]),
]
this could be worked around using $context->getGlobalDataSet() and extracting data from there,
but it would be not possible in case if multiple nested Each() used, because in context parameters there is index for the last Each() only
Package version
No response
PHP version
No response
- Lenguaje dominante
- PHP
- Estrellas
- 167
- Forks
- 47
- Merge medio
- 1 d 16 h
- PR fusionados (30 d)
- 4
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de yiisoft/validator
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
-
Multibyte trim supportAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 62/100
-
Make File size validation messages human-readableQuizá libre de nuevo @samdark la tomó hace 118 días y no hay ningún pull request abierto. Abiertotype:bug
Todos los issues de yiisoft/validator
Issues similares
-
sync-en
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 2 días
-
UX
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
ProfessionalWiki/NeoWiki#1573 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100