2014-02-07 72 views
0
<input id="TextBox1" name="nam" type="text" tabindex="1" /> 
    <asp:TextBox ID="datepickereffective" runat="server" /> 
     <asp:RequiredFieldValidator ID="RequiredFieldValidatorForDateEffective" 
      runat="server" ControlToValidate="datepickereffective" 
        ErrorMessage="Required"></asp:RequiredFieldValidator> 
     <asp:Button ID="Button1" runat="server" Text="Submit" OnClick="btnsubmit_onclick"/> 

我想檢查上面html輸入中的空值。與asp.net服務器端控件一起驗證html輸入

曾嘗試

Javascript onblur:dovalidation() 
<script> 
    do validation 
</script> 

ISSUE:我想驗證輸入文本,而不使用RUNAT=SERVER因爲我使用jQuery的自動完成出於某種原因,如果我使用RUNAT =「服務器」這不是選取數據。此外,我的SUBMIT按鈕是服務器端事件,因爲我正在保存文本框中的數據。我甚至不能爲按鈕點擊寫一個javascript函數。

我想要什麼:是否有任何強制用戶定義點擊html輸入的屬性,以便我可以處理客戶端的驗證。因爲與onblur的JavaScript邏輯只有當我點擊它並不選擇任何東西時才起作用。任何指針?

回答

3

如果您願意,可以在這種情況下使用CustomValidator。下面是示例代碼:

<input id="Text1" type="text" /> 
<asp:CustomValidator ID="CustomValidator1" runat="server" 
ErrorMessage="Cannot be empty" ValidationGroup="Html" ClientValidationFunction="dohtmlvalidation" Display="Dynamic"></asp:CustomValidator> 

<asp:Button ID="Button3" runat="server" Text="Button" ValidationGroup="Html"/> 

//JS function 
function dohtmlvalidation(sender, args) { 
      if ($("#Text1").val() == "") { 
       args.IsValid = false; 
      } 
     } 

Demo:檢查HTML輸入驗證部分在底部(忽略其他測試控制)

+0

您的解決方案上面的工作,但我也有需要現場驗證以及自定義驗證。它們沒有顯示所需的文字。 – user2465036

+0

user2465036

+0

添加ValidationGroup =「Html」到您的RequiredFieldValidator – gbs