2013-06-14 11 views
11

hi mam RequiredFieldValidator Ci się toWymagane walidator pole nie działa, gdy OnClientClick dodaje w przycisk

<asp:TextBox ID="txtEmployeeID" runat="server" MaxLength="255" CssClass="txt" 
    OnTextChanged="txtEmployeeID_TextChanged" AutoPostBack="True" 
    ValidationGroup="Save" ></asp:TextBox>  
<asp:RequiredFieldValidator ID="rfvEmployeeID" runat="server" 
    ErrorMessage="Employee ID is required information." 
    ControlToValidate="txtEmployeeID" Display="None" ValidationGroup="Save" 
    SetFocusOnError="True"></asp:RequiredFieldValidator> 

i przycisk jak ten

<asp:Button ID="btnBlockUser" runat="server" Text="Block User" 
    CssClass="submitBtn " OnClick="btnBlockUser_Click" 
    OnClientClick="javascript:return confirm('Are you sure want to Block this user ?')" 
    ValidationGroup="Save" /> 

Teraz problem jest, że jeśli usunąć OnClientKliknij w przycisk RequriedFieldValidator działa dobrze, czy umieścić go tam wstecz postów strony bez pokazywania jakiegokolwiek komunikatu o błędzie może ktoś wyjaśnić, dlaczego tak się dzieje?

+0

dowiedziałem się, że mogę dodać to Page_ClientValidate() do zdarzenia OnClientClick ale jest to możliwe, aby uniknąć wywoływania Potwierdź metoda() jeśli walidacja się nie powiedzie? –

+0

Zrobiłem to i działa dobrze, ale .. komunikat o błędzie jest wyświetlany dwukrotnie OnClientClick = "javascript: if (Page_ClientValidate()) return confirm (" Czy na pewno chcesz zablokować tego użytkownika? ");" –

Odpowiedz

27

spróbować użyć tego kodu pomoże Ci

<asp:RequiredFieldValidator ID="rfvEmployeeID" runat="server" ErrorMessage="Employee ID is required information." 
     ControlToValidate="txtEmployeeID" ValidationGroup="Save" SetFocusOnError="True"></asp:RequiredFieldValidator> 
     <br /> 
    <asp:Button ID="btnBlockUser" runat="server" Text="Block User" CssClass="submitBtn" CausesValidation="true" OnClientClick="return validate();" 
     OnClick="btnBlockUser_Click" ValidationGroup="Save" /> 
     <script type="text/javascript" language="javascript" > 
      function validate() { 
       if (Page_ClientValidate()) 
       return confirm('Are you sure want to Block this user ?'); 
      } 
     </script> 
+0

Page_ClientValidate() undefined dla mnie –

+0

Page_ClientValidate() jest tym, czego mi brakowało ... – Faker

Powiązane problemy