này đã không xảy ra với tôi trước đây, nhưng vì một lý do cả các sự kiện của khách hàng và phía máy chủ xác nhận không được kích hoạt:ASP.NET Tuỳ chỉnh Validator phía khách hàng & máy chủ xác nhận Side không bắn
<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>
Server- sự kiện xác nhận phía:
protected void TextBoxDTownCity_Validate(object source, ServerValidateEventArgs args)
{
args.IsValid = false;
}
Client-side validation sự kiện:
function TextBoxDCountyClient(sender, args) {
args.IsValid = false;
alert("test");
}
tôi thoug ht ít nhất việc xác thực phía máy chủ sẽ kích hoạt nhưng không. Điều này chưa từng xảy ra với tôi trước đây. Điều này thực sự khiến tôi bối rối.
tôi nhìn vào sản lượng và ASP.NET được công nhận chức năng phía khách hàng:
ASP.NET Javascript đầu ra:
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";
rendered tùy chỉnh validator:
<span id="ctl00_ctl00_content_content_CustomValidator2" style="color:Red;display:none;">Delivery Town or City required</span>
Can bất kỳ một trong những nhà kho một số ánh sáng là lý do tại sao cả hai khách hàng và phía máy chủ xác nhận sẽ không được bắn.
Edit: Typo tôi dán trong hàm sai, vấn đề vẫn như nhau
Chỉ cần một bản cập nhật để bình luận cuối cùng: nơi của TextBox không thể để trống. Tôi đã thử nghiệm điều này và điều đó không đúng. Trên một trang trống CustomValidator bắn phía khách hàng của tôi chức năng xác nhận tốt mà không có một giá trị:
<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" />
quá nhanh cho tôi, tôi đã nhập câu trả lời tương tự :) +1 –
"CustomValidator của bạn sẽ chỉ kích hoạt khi TextBox không trống "Tôi đã thử nghiệm điều này trên một trang sạch sẽ và điều đó không đúng.Chức năng xác nhận ứng dụng khách kích hoạt ngay cả khi hộp văn bản trống rỗng –
@REA_ANDREW, Không hoàn toàn! Tôi sẽ cập nhật câu trả lời của tôi để giải thích. – LukeH