Foros del Web » Programación para mayores de 30 ;) » .NET »

Creando un Custom Validation Control

Estas en el tema de Creando un Custom Validation Control en el foro de .NET en Foros del Web. Hola a tod@s: Buscando en Internet como programar un CustomValidator validando desde el Servidor, encontré el siguiente artículo que, a su vez, está sacado de ...
  #1 (permalink)  
Antiguo 03/06/2007, 17:43
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años
Puntos: 3
Creando un Custom Validation Control

Hola a tod@s:

Buscando en Internet como programar un CustomValidator validando desde el Servidor, encontré el siguiente artículo que, a su vez, está sacado de un manual llamado "ASP.NET 2.0 Unleashed":

http://www.samspublishing.com/articl...&seqNum=8&rl=1

Como se puede ver en el código de éste artículo, en su apartado "Creating a LengthValidator Control", se programa en un archivo de clase las funciones para validar la longitud de un campo de texto.

Como se puede ver, el código está hecho en VB. Y yo que quería aplicarlo a un sito web realizado en C#, he pasado el código de la clase que contiene las validaciones construida a C# tal como sigue:

Código:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

namespace pruebasvarias_VS2005_cs
{
    /// <summary>
    /// Descripción breve de validaciones
    /// </summary>
    public class validaciones : BaseValidator
    {
        public validaciones()
	    {
		    //
		    // TODO: Agregar aquí la lógica del constructor
		    //
	    }

        int longitud_max = 0;

        public int Maxima_Longitud {
            get {
                return longitud_max;
            }
            set {
                longitud_max = value;
            }
        }

        protected override bool EvaluateIsValid()
        {
            //LA SIGUIENTE LÍNEA SE INSERTA AUTOMÁTICAMENTE
            //AL TECLEAR Y ELEGIR EL EvaluateIsValid:
            //¿DÓNDE VA Ó SE PUEDE OBVIAR?
            //throw new Exception("El método ó la operación no está implementada.");
            string valor = this.GetControlValidationValue(this.ControlToValidate);
            if (valor.Length > longitud_max)
            {
                return false;
            }
            else
            {
                return true;
            }
        }
    }
}//fin de namespace pruebasvarias_VS2005_cs
¿Está bien traducido de VB a C#?
A mí funcionar me funciona pero al teclear lo de la propiedad "Maxima_Longitud" (en VB puesto como Public Property MaximumLength() As Integer), me salían otras como PropertyCollection, PropertyEntry, ... , PropertyGridEditorPart, ... , PropertyValueOrigin
¿Tenía que haber elegido alguna de estas en vez de cómo lo he puesto?

Otra duda
La línea ...
[ throw new Exception("El método ó la operación no está implementada."); ]
... se inserta automáticamente al teclear el EvaluateIsValid; y no sé si va ahí ó se pone de otra manera ó no hace falta ó que. ¿Alguien sabe algo?
La cosa es que comentada la línea mencionada, funciona la validación

Y la última duda es la que sigue, y la que más me interesa.

Al final del apartado, se indica que se accede a las funciones de longitud a través de la directiva <%@ Register %>. Y que si se deseara que dichas funciones fueran accesibles desde múltiples páginas de la aplicación, habría que registrar el control en la sección <pages>...</pages> del Web.config.

He probado a poner la instrucción en la sección mencionada, pero noi logro que funcione. Y viendo lo que he encontrado por Internet, parece que esto de ponerlo en dicha sección sólo vale para controles de usuario web y .dll.
Luego, ¿para el control de validación construido no valdría?

Si se puede hacer tal como dice el artículo del enlace y registrarlo en la sección <pages>...</pages>, ¿alguien sabe cómo?
__________________
Saludos,

zacktagnan.
=================================================
  #2 (permalink)  
Antiguo 06/06/2007, 23:58
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años
Puntos: 3
Re: Creando un Custom Validation Control

¿Ninguna sugerencia al respecto...?
__________________
Saludos,

zacktagnan.
=================================================
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:43.