Tengo una página ASP.NET bastante simple con algunos campos de entrada y validadores. Uno de los campos de aceptar un doble aspecto siguiente:ASP.NET RangeValidator rareza con MaximumValue
<asp:TextBox ID="tbHeight" runat="server" />
<asp:RangeValidator ID="vdHeight" runat="server"
ErrorMessage="Height must be a positive number" Text="*"
ControlToValidate="tbHeight" MinimumValue="0" Type="Double" />
esto funciona como se esperaba, y el usuario debe introducir un número de> = 0.
Actualización: esto no funciona como se esperaba después de todo (algunos extraño error en el proyecto). Véanse los comentarios a las respuestas a continuación para más detalles
que vuelva a intentar la misma para un campo de aceptar un entero:
<asp:TextBox ID="tbGrossTonnage" runat="server" />
<asp:RangeValidator ID="vdGrossTonnage" runat="server"
ErrorMessage="Gross Tonnage must be a positive whole number" Text="*"
ControlToValidate="tbGrossTonnage" MinimumValue="0" Type="Integer" />
Al cargar la página ASP, esto me da el siguiente error: El valor ' 'de la propiedad MaximumValue de' vdGrossTonnage 'no se puede convertir a tipo' Integer '.
no tengo ningún requisito específico de valor máximo en el sistema, por lo que lo haría al igual que en "default" para Int32.MaxValue
(aunque tendría que introducir 2147483647, ya MaximumValue
no parece aceptar la Int32.MaxValue
constante).
Por qué es que un RangeValidator
del tipo Integer
no aceptará una falta MaximumValue
propiedad, pero para uno de los tipos Double
esto está bien?
Solo un pequeño seguimiento: en el caso de que omita 'MaximumValue' para el tipo doble, esto significaría que tanto min como max son 0. ¿Por qué entonces mi página valida el campo correctamente? (-1 no es válido, y 1 es válido (lo he verificado dos veces, y esto realmente funciona))? – Nailuj
@Nailuj No puedo corroborar su conclusión de que la página se valida correctamente con "1" como entrada. Si dejo caer sus controles (desde su primer fragmento arriba) a una nueva página en un proyecto de sitio web vacío, ingresando "1" y luego causando la devolución de datos (agregué un botón) * no * causa falla de validación. –
No valida correctamente. –