Buenas soy nuevo me presento mi nombre es Mauricio. La cuestión por la cual estoy posteando aca es la siguiente:
Para un trabajo practico para la facultad me piden hacer una pagina ASP.net con un formulario para cargar datos de un usuario, validar estos datos utilizando los distintos controles de validación ( RequiredField,RegularExpression,Custom) todo iba medianamente bien hasta que me tope con la siguiente consigna:
"Al presionar el Button "Enviar" se debe validar del lado del servidor que el registro sea de
una persona mayor o igual a 21 años, para lo cual se deberá usar un CustomValidator."
el control al cual se valida(el que va en la propiedad ControlToValidate) es un textbox donde se introduce la fecha de nacimiento
con el formato dd/mm/aaaa ( el cual tmb tiene un RegularExpression para validar que esto sea asi), el problema surge al crear la funcion que se va a ejecutar cuando se dispare la validacion custom, como "dd/mm/aaaa" es un string, yo pense en utilizar
la funcion Substring para obtener el "aaaa" y parsearlo a int y verificar que sea menor o igual a 1989 pero no funciona, no se porque. Muestro lo que tengo hasta ahora:
protected void validarEdad(object source, System.Web.UI.WebControls.ServerValidateEventArgs args)
{
string año = args.Value.Substring(6);
int añoN = Int32.Parse(año);
if (añoN <= 1989 )
{
args.IsValid = true;
}
}
esto en la aspx.cs
y en la .aspx
tengo :
<asp:CustomValidator
ID="cvFechaNac" runat="server" ErrorMessage="CustomValidator" Text="*" ForeColor="#FF3300" ToolTip="Debe tener 21 años o más" ControlToValidate="txtFechaNac" OnServerValidate="validarEdad" ></asp:CustomValidator>
alguna idea,sugerencia,critica? gracias.