Validadors enterprise library
Publicado por Rosana (1 intervención) el 12/12/2011 16:45:19
Estoy utilizando el siguiente validador:
<cc1:PropertyProxyValidator ID="PPVEntradaInicial" runat="server"
ControlToValidate="txtEntradaInicial" PropertyName="EntradaInicial"
SourceTypeName="VWF.Ofertas.UI.Web.VWFDatosEconomicosFinanciacion" DisplayMode="List"
ValidationGroup="OfertaFinanciacion" OnValueConvert="decimalInput_ValueConvert">*</cc1:PropertyProxyValidator>
He probado con el RegExvalidator y con TypeConversionValidator
//[TypeConversionValidator(typeof(decimal))]
[RegexValidator("^[0-9]{0,11}(.[0-9]{0,2})?$", MessageTemplate = "La Entrada inicial debe de ser numerico (11,2).")]
public decimal EntradaInicial
{
get
{
decimal number;
return (this.txtEntradaInicial.Text.Trim().Length == 0 || !Decimal.TryParse(this.txtEntradaInicial.Text, out number)) ? 0 : (Convert.ToDecimal(this.txtEntradaInicial.Text));
}
set { this.txtEntradaInicial.Text = String.Format("{0:0,0.00}", value); }
}
Si meto letras el validador funciona correctamente pero si meto un decimal (numero correcto) el Page.validate siempre devuelve false.
Y tengo el siguiente mensaje Value to validate is not of the expected type: expected System.String but got System.Double instead.
Necesito una caja de texto que no deje meter letras y sui numeros con posibilidad de 11 digitos parte entera y 2 de decimal.
Pero no consigo que me funcione poniendo el validador.
<cc1:PropertyProxyValidator ID="PPVEntradaInicial" runat="server"
ControlToValidate="txtEntradaInicial" PropertyName="EntradaInicial"
SourceTypeName="VWF.Ofertas.UI.Web.VWFDatosEconomicosFinanciacion" DisplayMode="List"
ValidationGroup="OfertaFinanciacion" OnValueConvert="decimalInput_ValueConvert">*</cc1:PropertyProxyValidator>
He probado con el RegExvalidator y con TypeConversionValidator
//[TypeConversionValidator(typeof(decimal))]
[RegexValidator("^[0-9]{0,11}(.[0-9]{0,2})?$", MessageTemplate = "La Entrada inicial debe de ser numerico (11,2).")]
public decimal EntradaInicial
{
get
{
decimal number;
return (this.txtEntradaInicial.Text.Trim().Length == 0 || !Decimal.TryParse(this.txtEntradaInicial.Text, out number)) ? 0 : (Convert.ToDecimal(this.txtEntradaInicial.Text));
}
set { this.txtEntradaInicial.Text = String.Format("{0:0,0.00}", value); }
}
Si meto letras el validador funciona correctamente pero si meto un decimal (numero correcto) el Page.validate siempre devuelve false.
Y tengo el siguiente mensaje Value to validate is not of the expected type: expected System.String but got System.Double instead.
Necesito una caja de texto que no deje meter letras y sui numeros con posibilidad de 11 digitos parte entera y 2 de decimal.
Pero no consigo que me funcione poniendo el validador.
Valora esta pregunta


0