2014-01-10 80 views
0

我正在使用asp:requiredfieldvalidator和一個標有「輸入地址」的水印文本。如果文本仍然存在,我想讓這個驗證器觸發。這就是我所擁有的,我很困惑這一點。謝謝。如果初始值仍然存在,asp:requiredfieldvalidator顯示錯誤? (水印)

<asp:TextBox runat="server" ID="Address" Width="150px" onfocus="WaterMark(this, event);"/>           
<asp:requiredfieldvalidator ID="RequiredfieldvalidatorAddress" runat="server" ValidationGroup="Group" Display="Dynamic" SetFocusOnError="true" ControlToValidate="Address" Text="Please Enter Your Address"/> 

我使用C#2.0

回答

0

將RequiredFieldValidator的InitialValue設置爲WatermarkText。像下面一樣修改你的requiredfieldvalidator的標記,看看它是否有幫助。

<asp:requiredfieldvalidator ID="RequiredfieldvalidatorAddress" runat="server" ValidationGroup="Group" Display="Dynamic" SetFocusOnError="true" ControlToValidate="Address" Text="Please Enter Your Address" InitialValue="Enter Address"/> 
+0

如果帶有水印的文本存在,那麼不會觸發。如果它仍然存在,我希望它能夠被解僱。 – user2800287

+0

@ user2800287是的,這就是爲什麼我要求您使用初始值屬性 –

+0

好吧,我讀錯了。抱歉。如果文本框不可見,RequiredFieldValidator會觸發嗎?這是其中一個問題。導致它在不可見時仍會觸發。 – user2800287

1

可以使用CustomValidators的地址,自定義驗證的服務器驗證事件時,可以檢查這些如下:

服務器端:

void ServerValidation (object source, ServerValidateEventArgs args) 
{ 
     args.IsValid = !Address.Text == "Enter Address"; 
} 

客戶端:

<script language="javascript"> 
    function ClientValidate(source, arguments) 
    { 
     var textBox = document.getElementById('<%=Address.ClientID%>'); 
     if (textBox.value !== "Enter Address"){ 
      arguments.IsValid = (args.value !== ""); 
     } else { 
      arguments.IsValid = false; 
     } 
    } 
</script> 

希望這會有所幫助。

相關問題