Esto no me ha pasado antes, pero por alguna razón, tanto los eventos de validación del cliente y del lado del servidor no se activan:ASP.NET validador propio lado del cliente y la validación del lado del servidor no disparar
<asp:TextBox ID="TextBoxDTownCity" runat="server" CssClass="contactfield" />
<asp:CustomValidator ID="CustomValidator2" runat="server" EnableClientScript="true"
ErrorMessage="Delivery Town or City required"
ClientValidationFunction="TextBoxDTownCityClient"
ControlToValidate="TextBoxDTownCity"
OnServerValidate="TextBoxDTownCity_Validate" Display="Dynamic" >
</asp:CustomValidator>
Servidor- evento de validación del lado:
protected void TextBoxDTownCity_Validate(object source, ServerValidateEventArgs args)
{
args.IsValid = false;
}
-lado del cliente evento de validación:
function TextBoxDCountyClient(sender, args) {
args.IsValid = false;
alert("test");
}
I thoug Al menos, la validación del lado del servidor se activaría pero no. esto nunca me ha sucedido antes. Esto realmente me ha dejado perplejo.
Miré a la salida y ASP.NET es el reconocimiento de la función del lado del cliente:
ASP.NET JavaScript salida:
var ctl00_ctl00_content_content_CustomValidator2 = document.all ? document.all["ctl00_ctl00_content_content_CustomValidator2"] : document.getElementById("ctl00_ctl00_content_content_CustomValidator2");
ctl00_ctl00_content_content_CustomValidator2.controltovalidate = "ctl00_ctl00_content_content_TextBoxDTownCity";
ctl00_ctl00_content_content_CustomValidator2.errormessage = "Delivery Town or City required";
ctl00_ctl00_content_content_CustomValidator2.display = "Dynamic";
ctl00_ctl00_content_content_CustomValidator2.evaluationfunction = "CustomValidatorEvaluateIsValid";
ctl00_ctl00_content_content_CustomValidator2.clientvalidationfunction = "TextBoxDTownCityClient";
rindió validador personalizado:
<span id="ctl00_ctl00_content_content_CustomValidator2" style="color:Red;display:none;">Delivery Town or City required</span>
Puede cualquier uno arrojó algo de luz sobre por qué la validación del lado del cliente y del servidor no se activaría.
Editar: Typos me pega en la función equivocada, el problema sigue siendo el mismo
Sólo otra actualización para el último comentario: Cuando en el cuadro de texto no puede estar vacío. Probé esto y no es verdad. En una página en blanco del CustomValidator disparó mi lado del cliente función de validación bien sin un valor:
<asp:TextBox ID="TextBox1" runat="server" />
<asp:CustomValidator ID="CustomValidator1" runat="server"
ErrorMessage="CustomValidator" ClientValidationFunction="TextBoxDAddress1Client"></asp:CustomValidator>
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
demasiado rápido para mí, estaba escribiendo la misma respuesta :) +1 –
"Your CustomValidator solo se activará cuando el TextBox no sea vacío "Probé esto en una página limpia y no es cierto.La función de validación del cliente se dispara incluso cuando el cuadro de texto está vacío –
@REA_ANDREW, ¡No del todo! Actualizaré mi respuesta para explicar. – LukeH