我在类项目(DLL)中创建了一个自定义控件,并在我有标准ASP.net必需字段验证器控件的页面中使用它,以确保用户填充自定义控件的某些属性。
由于某种原因,验证仅在回发后发生。我需要在回发之前在客户端进行验证,即以与ASP.net验证器控件验证标准文本框的方式类似的方式。
请帮忙。
答案 0 :(得分:2)
您可以使用CustomValidator的ClientValidationFunction属性。
<asp:CustomValidator id="CustomValidator1"
ControlToValidate="Text1"
ClientValidationFunction="ClientValidate"
OnServerValidate="ServerValidation"
Display="Static"
ErrorMessage="Not an even number!"
runat="server"/>
<script language="javascript">
function ClientValidate(source, arguments)
{
if (arguments.Value % 2 == 0 ){
arguments.IsValid = true;
} else {
arguments.IsValid = false;
}
}
</script>
答案 1 :(得分:1)
我想你可能想要对Button等事件进行验证。 然后检查,你是否使Button的CausesValidation属性为true。 例如
<asp:Button ID="Submit" runat="server" Text="Submit" CausesValidation="True" ClientIDMode="Static"/>
答案 2 :(得分:0)
您需要将ValidationProperty属性应用于您的用户控件,其值指向将由验证控件验证的属性名称
点击此链接http://www.matthewedmondson.info/2010/01/validatation-for-custom-user-controls.html