Cela n'a pas arrivé à moi avant, mais pour une raison quelconque à la fois les événements de validation côté client et serveur ne sont pas déclenché:ASP.NET personnalisé validateur côté client et serveur de validation de côté pas de tir
<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>
Serveur- événement de validation de côté:
protected void TextBoxDTownCity_Validate(object source, ServerValidateEventArgs args)
{
args.IsValid = false;
}
événement de validation côté client:
function TextBoxDCountyClient(sender, args) {
args.IsValid = false;
alert("test");
}
I thoug ht au moins la validation du côté serveur se déclencherait mais non. Cela ne m'est jamais arrivé auparavant. Cela m'a vraiment bloqué.
Je regardais la sortie et ASP.NET reconnaît la fonction côté client:
ASP.NET sortie JavaScript:
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";
Rendus validateur personnalisé:
<span id="ctl00_ctl00_content_content_CustomValidator2" style="color:Red;display:none;">Delivery Town or City required</span>
Peut- On a fait la lumière sur les raisons pour lesquelles la validation côté client et côté serveur ne se déclencherait pas.
Edit: Je Typo collé dans la mauvaise fonction, problème toujours le même
Juste une autre mise à jour du dernier commentaire: où par la zone de texte ne peut pas être vide. J'ai testé cela et ce n'est pas vrai. Sur une page blanche le CustomValidator a tiré ma fonction de validation côté client très bien sans valeur:
<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" />
trop rapide pour moi, je tapais même réponse :) +1 –
"Votre CustomValidator se déclenchera seulement lorsque le TextBox n'est pas vide "J'ai testé cela sur une page propre et ce n'est pas vrai.La fonction de validation du client se déclenche même lorsque la zone de texte est vide –
@REA_ANDREW, Pas tout à fait! Je vais mettre à jour ma réponse pour l'expliquer. – LukeH