Tengo una entidad con varios campos en ella. Uno de ellos está siendo validada después de la presentación de la siguiente forma:Validación de una entrada entera desde un formulario
/**
* @var integer $anzahl
*
* @ORM\Column(name="anzahl", type="integer")
* @Assert\NotBlank(message="Bitte geben Sie eine Kistenanzahl an.")
* @Assert\Type(type="numeric", message="Die Kistenanzahl muss eine Zahl sein.")
* @Assert\Min(limit="1", message="Sie müssen mindestens eine Kiste suchen oder anbieten.")
*/
private $anzahl;
estoy teniendo dos problemas con esta solución:
Sólo número entero valores deben ser aceptadas mayor que cero. Sin embargo, también flotantes/dobles están siendo aceptados por esta validación. Sin embargo, si cambio @Assert\Type(type="numeric")
a @Assert\Type(type="integer")
, ninguna entrada se valida como verdadera. ¿Cómo puedo validar que mi entrada sea un valor entero?
El otro problema es que después de ingresar un valor obviamente inválido (como una cadena de letras) recibo no solo mi mensaje de error alemán para la validación de Tipo sino también el mensaje en inglés 'Este valor debe ser un número válido'. ¿De dónde viene este mensaje y cómo puedo deshacerme de él?
' @Asertar \ Tipo (tipo = "entero") 'no está funcionando. Eso fue lo primero que intenté. – sprain
¿Has visto la segunda parte de la respuesta? ¿Qué tipo de formulario está utilizando para esta propiedad? –
Usar un número entero como tipo de campo de formulario hizo el truco. Gracias. – sprain