我正在使用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 :(得分: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>
希望这有帮助。
答案 1 :(得分:0)
将RequiredFieldValidator的InitialValue设置为WatermarkText。修改所需的fieldvalidator的标记,如下所示,看看它是否有帮助。
<asp:requiredfieldvalidator ID="RequiredfieldvalidatorAddress" runat="server" ValidationGroup="Group" Display="Dynamic" SetFocusOnError="true" ControlToValidate="Address" Text="Please Enter Your Address" InitialValue="Enter Address"/>