2010-04-14 28 views
14

Uso ASP.NET y tengo un botón y un validador personalizado, que debe validar el botón .Mensaje de error del validador personalizado de ASP.NET: el control al que hace referencia la propiedad no se puede validar

<asp:Button ID="saveButton" runat="server" OnClick="SaveButton_Click" Text="Speichern" 
    CausesValidation="true"/> 
<asp:CustomValidator runat="server" ID="saveCValidator" Display="Static" 
    OnServerValidate="EditPriceCValidator_ServerValidate" 
    ControlToValidate="saveButton" ErrorMessage=""> 

Al cargar la página, recibo el mensaje de error:

"Control 'SaveButton' al que hace referencia la propiedad ControlToValidate de 'saveCValidator' no puede ser validado"

¿Cuál podría ser el problema? Busqué en la red, pero esto no ayudó mucho.

Respuesta

26

yo sepa, ControlToValidate propiedad debe apuntar al control de entrada o se deja en blanco para el control CustomValidator.

Una referencia de MSDN:

utilizar la propiedad ControlToValidate a especificar el control de entrada para validar. Esta propiedad se debe establecer en la ID de un control de entrada para todos los controles de validación excepto el control CustomValidator , que se puede dejar en blanco. Si no especifica un control de entrada válido , se lanzará una excepción cuando se represente la página. El ID debe referirse a un control dentro del mismo contenedor como control de validación. Debe estar en la misma página o en el control del usuario , o debe estar en la misma plantilla de un control de plantilla.

Los controles estándar que pueden ser validado son:

  • System.Web.UI.WebControls.DropDownList
  • System.Web.UI.WebControls.FileUpload
  • System.Web.UI. WebControls.ListBox
  • System.Web.UI.WebControls.RadioButtonList
  • System.Web.UI.WebControls.TextBox
  • Syst em.Web.UI.HtmlControls.HtmlInputFile
  • System.Web.UI.HtmlControls.HtmlInputPassword
  • System.Web.UI.HtmlControls.HtmlInputText
  • System.Web.UI.HtmlControls.HtmlSelect
  • System.Web.UI.HtmlControls.HtmlTextArea
+1

Gracias. Esto es exactamente lo que buscaba. ¡Debería haber leído la documentación primero! :-) –

Cuestiones relacionadas