必要な数の Validators を同じコントロール (この場合は 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に感謝します。