我有一个自定义验证器,并希望它在非服务器端验证客户端。 这是我的功能:
function checkCampDockTemplate(source, args)
{
var campDockTemplate = document.getElementById('<%= drpCampDockTemplate.ClientID %>');
if (campDockTemplate.selectedIndex == 0)
{
args.IsValid = false;
}
else
{
args.IsValid = true;
}
}
<asp:CustomValidator ID="campaignDocketTemplateCustomValidator" runat="server" ErrorMessage="Please select a Campaign Docket Template"
ControlToValidate="drpCampDockTemplate" OnServerValidate="campaignDocketTemplateCustomValidator_ServerValidate"
ClientValidationFunction="javascript:checkCampDockTemplate()"></asp:CustomValidator>
任何人都可以帮我解决这个问题。 提前谢谢。
答案 0 :(得分:2)
您的函数格式大多正确,但您只需要在ClientValidationFunction
属性中按名称引用客户端函数,例如
<asp:CustomValidator ID="campaignDocketTemplateCustomValidator"
runat="server"
ErrorMessage="Please select a Campaign Docket Template"
ControlToValidate="drpCampDockTemplate"
OnServerValidate="campaignDocketTemplateCustomValidator_ServerValidate"
ClientValidationFunction="checkCampDockTemplate"/>
如果您还想完全删除服务器端验证,可以从CustomValidator中删除OnServerValidate
属性。
一般来说,通常明智的做法是在服务器和客户端验证您的输入,以防人们关闭javascript!