Pregunta

Esta es la declaración de la propiedad en cuestión:

 [RangeValidator(1,RangeBoundaryType.Inclusive,255,RangeBoundaryType.Inclusive,MessageTemplate = "StartFlexibility is out of range")]
    public byte StartFlexibility { get; set; }

Cuando se llama al método de validación, FormatException se lanza me dice que el tipo de valor tiene que ser Int32.

Cómo corregir, por favor?

¿Fue útil?

Solución

bueno ... la solución obvia rápida será cambiar el tipo de short o int,

pero otra observación que quiero hacer, es con la gama. Le está diciendo al RangeValidator tomar un intervalo inclusivo entre 1 y 256, pero sólo se puede asignar un valor de byte hasta 255, tal vez esa es la razón compilador de gritar.

El RangeValidator también se infering del tipo de la Cordillera de los parámetros, así, trate de fundición

[RangeValidator((byte) 1, ...

Otros consejos

Como dice Jhonny, modelado a byte ... pero de la misma familia

[RangeValidator(typeof(Byte), "1", RangeBoundaryType.Inclusive, "255", RangeBoundaryType.Inclusive, MessageTemplate = "Some message")]

La otra opción sería llamar al validador gama en un mensaje SelfValidation y echó allí.

Nunca he usado la clase RangeValidator / atributo, pero ¿es un problema que tiene 256 como un límite superior cuando un byte sólo puede llegar a 255?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top