您可以根据需要将任意数量的验证器应用于同一控件,在本例中为您的 TextBox。
在这种情况下,自定义验证器是可行的方法,因为它使您能够使用您开发的任何功能进行验证以满足您的需求。请看一下这个简单的教程。
更新 1:服务器端验证
这是它在 CustomValidator 的声明中调用服务器端函数的方式:
<asp:CustomValidator runat="server" id="custPrimeCheck"
ControlToValidate="txtPrimeNumber"
OnServerValidate="PrimeNumberCheck"
ErrorMessage="Invalid Prime Number" />
“PrimeNumberCheck”VB 函数示例:
Sub PrimeNumberCheck(sender as Object, args as ServerValidateEventArgs)
Dim iPrime as Integer = Cint(args.Value), iLoop as Integer, _
iSqrt as Integer = CInt(Math.Sqrt(iPrime))
For iLoop = 2 to iSqrt
If iPrime mod iLoop = 0 then
args.IsValid = False
Exit Sub
End If
Next
args.IsValid = True
End Sub
更新 2:客户端验证
这是它在 CustomValidator 的声明中调用服务器端函数的方式:
<asp:CustomValidator runat="server" id="custPrimeCheck"
ControlToValidate="txtPrimeNumber"
ClientValidationFunction="CheckPrime"
ErrorMessage="Invalid Prime Number" />
“CheckPrime”JavaScript 函数的示例:
function CheckPrime(sender, args)
{
var iPrime = parseInt(args.Value);
var iSqrt = parseInt(Math.sqrt(iPrime));
for (var iLoop=2; iLoop<=iSqrt; iLoop++)
if (iPrime % iLoop == 0)
{
args.IsValid = false;
return;
}
args.IsValid = true;
}
感谢@AdrianIftode 让我意识到这一点。