我有一个自定义验证器,希望它在客户端而不是服务器端进行验证。 这是我的功能:
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>
任何人都可以在这方面帮助我吗? 提前致谢。
最佳答案
您的函数格式基本正确,但您需要仅在 ClientValidationFunction
属性中按名称引用客户端函数,例如
<asp:CustomValidator ID="campaignDocketTemplateCustomValidator"
runat="server"
ErrorMessage="Please select a Campaign Docket Template"
ControlToValidate="drpCampDockTemplate"
OnServerValidate="campaignDocketTemplateCustomValidator_ServerValidate"
ClientValidationFunction="checkCampDockTemplate"/>
如果您还想完全删除服务器端验证,可以从 CustomValidator 中删除 OnServerValidate
属性。
一般来说,在服务器和客户端验证您的输入通常是明智的,以防人们关闭了 javascript!
关于javascript - CustomValidator 客户端验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6408282/