C# asp:requiredfieldvalidator显示错误,如果初始值仍然存在?(水印)

C# asp:requiredfieldvalidator显示错误,如果初始值仍然存在?(水印),c#,asp.net,C#,Asp.net,我使用的是asp:requiredfieldvalidator和带有水印的文本,上面写着“输入地址”。如果文本仍然存在,我希望这个验证器启动。这就是我所拥有的,我对此感到困惑。谢谢 <asp:TextBox runat="server" ID="Address" Width="150px" onfocus="WaterMark(this, event);"/> <asp:requiredfiel

我使用的是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

作为地址,在自定义验证器的服务器验证事件中,您可以检查以下内容:

服务器端:

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>
客户端:

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>

函数ClientValidate(源、参数)
{
var textBox=document.getElementById(“”);
如果(textBox.value!=“输入地址”){
arguments.IsValid=(args.value!==“”);
}否则{
arguments.IsValid=false;
}
}

希望这有帮助。

将RequiredFieldValidator的初始值设置为水印文本。修改requiredfieldvalidator的标记,如下所示,看看是否有帮助

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


如果有水印文本,则不会触发。如果它仍然在那里,我想让它开火。@user2800287是的,这就是为什么我要求你使用初始值属性,因为我读错了。很抱歉如果文本框不可见,RequiredFieldValidator是否会启动?这是问题之一。因为当它不可见时仍会激发。是的,当可见时将激发验证。请参阅