Errores de validación comunes al crear formatos de propuesta
Podrías ver alguno de estos errores de validación comunes al crear, guardar o visualizar formatos de propuestas.
Nota: Los formularios de incidencias se encuentran actualmente en versión beta solo para GitHub.com.
Falta la clave name
de nivel superior necesaria
description: "Thank you for reporting a bug!"
...
La plantilla no contiene un campo name
, lo que significa que no está claro cómo llamar a la plantilla de incidencia cuando se le proporcione una lista de opciones a los usuarios.
name: "Bug report"
description: "Thank you for reporting a bug!"
...
Ejemplo de un error de tipo "Falta la clave name
de nivel superior necesaria"
El error se puede corregir si se agrega name
como una clave.
key
debe ser una cadena
Este mensaje de error significa que se proporcionó una clave permitida, pero su valor no se puede analizar, ya que el tipo de datos no es compatible.
name: "Bug report"
description: true
...
Ejemplo de un error de tipo "key
debe ser una cadena" El objeto description
siguiente se analiza como un valor booleano, pero debería ser una cadena. El error puede corregirse si proporcionas una secuencia como el valor.
name: "Bug report"
description: "true"
...
Las secuencias podrían necesitar ponerse entre comillas dobles para que se analicen con éxito.
name: ""
description: "File a bug report"
assignees: " "
...
Por ejemplo, las cadenas que contienen '
se deben encapsular entre comillas dobles. Las secuencias vacías o aquellas que consisten de espacios en blanco únicamente tampoco son permisibles cuando el campo espera una secuencia.
name: "Bug Report"
description: "File a bug report"
...
Este error puede arreglarse corrigiendo el valor para que sea una secuencia no vacía.
Si no se requiere el campo, deberías borrar el par de llave-valor. input
no es una clave permitida
Se proporcionó una llave inesperada en el nivel superior de la plantilla.
name: "Bug report"
hello: world
...
Para más información sobre qué claves de nivel superior se admiten, vea "Sintaxis para formularios de incidencias".
name: "Bug report"
...
Ejemplo de un error de tipo "input
no es una clave permitida"
Este error puede corregirse si se eliminan las claves inesperadas. Claves prohibidas
YAML analiza determinadas cadenas como valores Boolean
.
Para evitar esto, prohibimos explícitamente el uso de las siguientes claves:
y
, Y
, yes
, Yes
, YES
, n
, N
, no
, No
, NO
, true
, True
, TRUE
, false
, False
, FALSE
, on
, On
, ON
, off
, Off
, OFF
Este error puede corregirse si se eliminan las claves prohibidas. El cuerpo debe contener por lo menos un campo que no sea de lenguaje de marcado
Los formatos de propuestas deben aceptar las entradas de usuario, lo cual significa que por lo menos uno de sus campos debe contener uno de entrada de usuario.
name: "Bug report"
body:
- type: markdown
attributes:
value: "Bugs are the worst!"
Un elemento markdown
es texto estático, por lo que una matriz body
no puede contener solo elementos markdown
.
name: "Bug report"
body:
- type: markdown
attributes:
value: "Bugs are the worst!"
- type: textarea
attributes:
label: "What's wrong?"
Ejemplo de un error de tipo "El cuerpo debe contener por lo menos un campo que no sea de Markdown"
El error puede corregirse si se agregan elementos diferentes a los de lenguaje de marcado, los cuales acepten la entrada del usuario.
El cuerpo debe tener ID únicas
name: "Bug report"
body:
- type: input
id: name
attributes:
label: First name
- type: input
id: name
attributes:
label: Last name
Si usa atributos id
para distinguir varios elementos, cada atributo id
debe ser único.
name: "Bug report"
body:
- type: input
id: name
attributes:
label: First name
- type: input
id: surname
attributes:
label: Last name
Ejemplo de un error de tipo "El cuerpo debe tener identificadores únicos"
El error se puede corregir si se cambia id
para una de estas entradas, de modo que cada campo input
tenga un atributo id
único.
El cuerpo debe tener etiquetas únicas
name: "Bug report"
body:
- type: textarea
attributes:
label: Name
- type: textarea
attributes:
label: Name
Cuando hay varios elementos body
que aceptan la entrada de usuario, el atributo label
de cada campo de entrada de usuario debe ser único.
name: "Bug report"
body:
- type: textarea
attributes:
label: Name
- type: textarea
attributes:
label: Operating System
Ejemplo de un error de tipo "El cuerpo debe tener etiquetas únicas" El error se puede corregir si se cambia el atributo label
por uno de los campos de entrada para asegurarse de que cada valor label
sea único.
name: "Bug report"
body:
- type: textarea
id: name_1
attributes:
label: Name
- type: textarea
id: name_2
attributes:
label: Name
Los campos de entrada también se pueden diferenciar por su atributo id
. Si se necesitan atributos label
duplicados, puede suministrar al menos un valor id
para diferenciar dos elementos con etiquetas idénticas.
Los atributos id
no son visibles en el cuerpo de la incidencia.
Si quiere distinguir los campos en la incidencia resultante, debe usar atributos label
distintos. Las etiquetas son muy similares Se podrían procesar etiquetas similares en referencias idénticas. Si no se proporciona un atributo id
para input
, se usa el atributo label
para generar una referencia al campo input
.
Para ello, se procesa label
mediante el método parameterize de Rails.
name: "Bug report"
body:
- type: input
attributes:
label: Name?
- type: input
id: name
attributes:
label: Name???????
En algunos casos, dos etiquetas distintas pueden procesarse en la misma secuencia parametrizada.
name: "Bug report"
body:
- type: input
attributes:
label: Name?
- type: input
attributes:
label: Your name
Ejemplo de un error de tipo "Las etiquetas son demasiado similares"
name: "Bug report"
body:
- type: input
attributes:
label: Name?
- type: input
id: your-name
attributes:
label: Name???????
El error se puede corregir si se agrega al menos un carácter alfanumérico de diferenciación, -
, o bien _
a una de las etiquetas en conflicto.
El error también se puede corregir si se le otorga un valor id
único a una de las etiquetas en conflicto.
Las casillas de verificación deben tener etiquetas únicas
name: "Bug report"
body:
- type: textarea
attributes:
label: Name
- type: checkboxes
attributes:
options:
- label: Name
Cuando hay un elemento checkboxes
, cada una de sus etiquetas anidadas debe ser única entre sus elementos del mismo nivel, así como entre otros tipos de entrada.
name: "Bug report"
body:
- type: textarea
attributes:
label: Name
- type: checkboxes
attributes:
options:
- label: Your name
Ejemplo de un error de tipo "Las casillas deben tener etiquetas únicas" El error se puede corregir si se cambia el atributo label
por una de estas entradas.
name: "Bug report"
body:
- type: textarea
id: name_1
attributes:
label: Name
- type: checkboxes
attributes:
options:
- label: Name
Como alternativa, puede proporcionar un elemento id
a cualquier elemento de nivel superior en conflicto. Los elementos de casilla anidados no admiten el atributo id
.
Los atributos id
no son visibles en el cuerpo de la incidencia.
Si quiere distinguir los campos en la incidencia resultante, debe usar atributos label
distintos.
Body[i]: falta el tipo de clave necesario Cada bloque de cuerpo debe contener la clave type
.
A los errores con body
se les asignará el prefijo body[i]
, donde i
representa el índice cero del bloque de cuerpo que contiene el error.
body:
- attributes:
value: "Thanks for taking the time to fill out this bug! If you need real-time help, join us on Discord."
Por ejemplo, body[0]
indica que el error ha sido causado por el primer bloque de la lista body
. Ejemplo de un error de tipo "Body[i]: falta el tipo de clave necesario"
body:
- type: markdown
attributes:
value: "Thanks for taking the time to fill out this bug! If you need real-time help, join us on Discord."
El error se puede corregir si se agrega la clave type
con un tipo de entrada válido como valor.
Para obtener los tipos de entrada de body
disponibles y sus sintaxis, vea "Sintaxis para el esquema de formulario de GitHub".
Body[i]: x
no es un tipo de entrada válido Uno de los bloques de cuerpo contiene un valor de tipo que no es uno de los tipos permitidos.
A los errores con body
se les asignará el prefijo body[i]
, donde i
representa el índice del bloque de cuerpo que contiene el error.
body:
- type: x
attributes:
value: "Thanks for taking the time to fill out this bug! If you need real-time help, join us on Discord."
Por ejemplo, body[0]
indica que el error ha sido causado por el primer bloque de la lista body
.
body:
- type: markdown
attributes:
value: "Thanks for taking the time to fill out this bug! If you need real-time help, join us on Discord."
Ejemplo de un error de tipo "Body[i]: x
no es un tipo de entrada válido"
El error se puede corregir si se cambia x
por uno de los tipos válidos. Body[i]: falta la clave de atributo value
necesaria
No se ha proporcionado uno de los atributos value
necesarios. El error se produce cuando un bloque no tiene una clave attributes
, o bien no tiene una clave value
bajo la clave attributes
.
A los errores con body
se les asignará el prefijo body[i]
, donde i
representa el índice del bloque de cuerpo que contiene el error.
body:
- type: markdown
attributes:
value: "Thanks for taking the time to fill out this bug! If you need real-time help, join us on Discord."
- type: markdown
Por ejemplo, body[0]
indica que el error ha sido causado por el primer bloque de la lista body
.
body:
- type: markdown
attributes:
value: "Thanks for taking the time to fill out this bug! If you need real-time help, join us on Discord."
- type: markdown
attributes:
value: "This is working now!"
Ejemplo de un error de tipo "Body[i]: falta la clave de atributo value
necesaria"
El error de este ejemplo se puede corregir si se agrega value
como una clave en attributes
en el segundo elemento de lista de body
.
Body[i]: la etiqueta debe ser una secuencia Dentro de su bloque attributes
, un valor tiene el tipo de datos incorrecto.
A los errores con body
se les asignará el prefijo body[i]
, donde i
representa el índice del bloque de cuerpo que contiene el error.
Por ejemplo, body[0]
indica que el error ha sido causado por el primer bloque de la lista body
.
body:
- type: markdown
attributes:
value: "Thanks for taking the time to fill out this bug! If you need real-time help, join us on Discord."
- type: textarea
attributes:
label: Bug Description
- type: textarea
attributes:
label: true
Ejemplo de un error de tipo "Body[i]: la etiqueta debe ser una cadena" El objeto label
siguiente se analiza como un valor booleano, pero debería ser una cadena. El error se puede corregir si se proporciona un valor de cadena para label
.
- type: markdown
attributes:
value: "Thanks for taking the time to fill out this bug! If you need real-time help, join us on Discord."
- type: textarea
attributes:
label: Bug Description
- type: textarea
attributes:
label: Environment Details
Si quiere usar un valor label
que se pueda analizar como booleano, número entero o decimal, debe encapsular el valor entre comillas. Por ejemplo, "true"
o "1.3"
en lugar de true
o 1.3
.
No se permiten las secuencias vacías o aquellas que consisten exclusivamente de espacios en blanco cuando un atributo espera una secuencia. Por ejemplo, no se permiten ""
ni " "
.
body:
- type: input
attributes:
label: "Name"
Si se requiere el atributo, el valor debe ser una secuencia que no esté vacía.
Si no se requiere el campo, deberías borrar el par de llave-valor. Body[i]: id
solo puede contener números, letras, -, _
Los atributos id
solo puede contener caracteres alfanuméricos, -
y _
. La plantilla puede incluir caracteres no permitidos, como espacios en blanco, en un elemento id
.
A los errores con body
se les asignará el prefijo body[i]
, donde i
representa el índice del bloque de cuerpo que contiene el error.
name: "Bug report"
body:
- type: input
id: first name
attributes:
label: First name
Por ejemplo, body[0]
indica que el error ha sido causado por el primer bloque de la lista body
.
name: "Bug report"
body:
- type: input
id: first-name
attributes:
label: First name
Ejemplo de un error de tipo "Body[i]: id
solo puede contener números, letras, -, _"
El error se puede corregir si se asegura de que los espacios en blanco y otros caracteres no permitidos se quitan de los valores id
.
Body[i]: x
no es una clave permitida Se ha proporcionado una clave inesperada, x
, en el mismo nivel de sangría que type
y attributes
.
A los errores con body
se les asignará el prefijo body[i]
, donde i
representa el índice del bloque de cuerpo que contiene el error.
body:
- type: markdown
x: woof
attributes:
value: "Thanks for taking the time to fill out this bug! If you need real-time help, join us on Discord."
Por ejemplo, body[0]
indica que el error ha sido causado por el primer bloque de la lista body
.
body:
- type: markdown
attributes:
value: "Thanks for taking the time to fill out this bug! If you need real-time help, join us on Discord."
Ejemplo de un error de tipo "Body[i]: x
no es una clave permitida"
El error se puede corregir si se quitan las claves adicionales y solo se usan type
, attributes
y id
.
Body[i]: label
contiene palabras prohibidas Para minimizar el riesgo de que la información privada y las credenciales se publiquen de forma pública en Incidencias de GitHub, no se permiten algunas palabras usadas por los atacantes en los elementos label
de entrada o área de texto.
A los errores con body
se les asignará el prefijo body[i]
, donde i
representa el índice del bloque de cuerpo que contiene el error.
body:
- type: markdown
attributes:
value: Hello world!
- type: input
attributes:
label: Password
Por ejemplo, body[0]
indica que el error ha sido causado por el primer bloque de la lista body
.
body:
- type: markdown
attributes:
value: Hello world!
- type: input
attributes:
label: Username
Ejemplo de un error de tipo "Body[i]: label
contiene una palabra prohibida"
El error se puede corregir si se quitan términos como "contraseña" de los campos label
.
Body[i]: x
no es un atributo permitido Se ha proporcionado una clave no válida en un bloque attributes
.
A los errores con body
se les asignará el prefijo body[i]
, donde i
representa el índice del bloque de cuerpo que contiene el error.
body:
- type: markdown
attributes:
x: "a random key!"
value: "Thanks for taking the time to fill out this bug!"
Por ejemplo, body[0]
indica que el error ha sido causado por el primer bloque de la lista body
.
body:
- type: markdown
attributes:
value: "Thanks for taking the time to fill out this bug!"
Ejemplo de un error de tipo "Body[i]: x
no es un atributo permitido"
El error se puede corregir si se quitan las claves adicionales y solo se usan atributos permitidos.
Body[i]: options
debe ser único Para los casillas y los tipos de entrada desplegables, las opciones definidas en la matriz options
deben ser únicas.
A los errores con body
se les asignará el prefijo body[i]
, donde i
representa el índice del bloque de cuerpo que contiene el error.
body:
- type: dropdown
attributes:
label: Favorite dessert
options:
- ice cream
- ice cream
- pie
Por ejemplo, body[0]
indica que el error ha sido causado por el primer bloque de la lista body
.
body:
- type: dropdown
attributes:
label: Favorite dessert
options:
- ice cream
- pie
Ejemplo de un error de tipo "Body[i]: options
debe ser único"
El error se puede corregir si se asegura de que no existen opciones duplicadas en la matriz options
.
Body[i]: options
no debe incluir la palabra reservada "none" "None" es una palabra reservada de un conjunto de options
, porque se usa para indicar que no hay opciones disponibles cuando dropdown
no es obligatorio.
A los errores con body
se les asignará el prefijo body[i]
, donde i
representa el índice del bloque de cuerpo que contiene el error.
body:
- type: dropdown
attributes:
label: What types of pie do you like?
options:
- Steak & Ale
- Chicken & Leek
- None
validations:
required: true
Por ejemplo, body[0]
indica que el error ha sido causado por el primer bloque de la lista body
. Ejemplo de un error de tipo "Body[i]: options
no debe incluir la palabra reservada 'none'"
body:
- type: dropdown
attributes:
label: What types of pie do you like?
options:
- Steak & Ale
- Chicken & Leek
El error se puede corregir si se quita "None" (Ninguno) como opción.
Si quiere que un colaborador pueda indicar que no le gustan ninguno de esos tipos de gráficos, también puede quitar la validación de required
. En este ejemplo, "None" (Ninguno) se rellenará de forma automática como una opción que se pueda seleccionar.
Body[i]: options
no debe incluir valores booleanos. Encapsule entre comillas los valores como "sí" y "true".
Hay varias palabras en inglés que se procesan en valores booleanos mediante el analizador de YAML a menos que se encapsulan entre comillas. Para la lista desplegable options
, todos los elementos deben ser cadenas en lugar de valores booleanos.
A los errores con body
se les asignará el prefijo body[i]
, donde i
representa el índice del bloque de cuerpo que contiene el error. Por ejemplo, body[0]
indica que el error ha sido causado por el primer bloque de la lista body
.
body:
- type: dropdown
attributes:
label: Do you like pie?
options:
- Yes
- No
- Maybe
Ejemplo de un error de tipo "Body[i]: options
no debe incluir valores booleanos.
body:
- type: dropdown
attributes:
label: Do you like pie?
options:
- "Yes"
- "No"
- Maybe
Encapsule entre comillas valores como 'sí' y 'true'"
El error se puede corregir si cada opción incorrecta se encapsula entre comillas, para evitar que se procesen como valores booleanos. El cuerpo no puede estar vacío.
El par key:value
del cuerpo de la plantilla no puede estar vacío.
Para obtener más información sobre qué claves de nivel superior se requieren, consulta "Sintaxis para formularios de incidencias".
name: Support Request
description: Something went wrong and you need help?
---
body:
- type: textarea
attributes:
label: "What's wrong?"
El error se puede corregir agregando la sección body:
.
name: Support Request
description: Something went wrong and you need help?
body:
- type: textarea
attributes:
label: "What's wrong?"
Ejemplo de un error de tipo "El cuerpo no puede estar vacío"
- En este ejemplo, el error se puede corregir eliminando
---
(separador de documentos) entre los encabezados y la secciónbody
. - Información adicional