【问题标题】:How to use Customvalidator to check number如何使用 Customvalidator 检查号码
【发布时间】:2015-04-22 09:07:25
【问题描述】:

我试图使用Customvalidator 来检查值,并确保该值应该是整数并且不能为空。一开始,我使用RequiredValidatorRegularExpressionValidator 来实现这一点。但是,我无法将他们的错误消息放在同一个地方,所以我将解决方案更改为使用 Customvalidator。但我还是想不通。

这是我的代码

protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
     DateTime dt;

     if (string.IsNullOrEmpty(args.Value))
     {
         CustomValidator1.ErrorMessage = "Can not be empty";
         args.IsValid = false;
     }

     else if (????)
     {
        ...
     }
}

【问题讨论】:

  • However, I could not put their errormessage in the same place, 所以放置是你第一次尝试时的问题?
  • 是的,这是我的第一个问题。你知道如何将两个错误信息放在一起吗?
  • 您可以使用 Tim schmelter 解决方案。它会完美运行。

标签: asp.net validation webforms customvalidator


【解决方案1】:

您可以使用int.TryParsedecimal.TryParse 来检查字符串是否为有效数字。

protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
     args.IsValid = !string.IsNullOrEmpty(args.Value);
     if (!args.IsValid)
     {
         CustomValidator1.ErrorMessage = "Can not be empty";
     }
     else
     {
         int number;
         args.IsValid = int.TryParse(args.Value, out number);
         if(!args.IsValid)
         {
             CustomValidator1.ErrorMessage = "Must be a valid integer";
         }
     }
}

请注意,您还必须将ValidateEmptyText 设置为true(默认值:false)。它是唯一不需要额外 RequiredFieldValidator 的验证器。

【讨论】:

    猜你喜欢
    • 2013-12-20
    • 1970-01-01
    • 1970-01-01
    • 2014-10-13
    • 1970-01-01
    • 2021-11-04
    • 2014-11-24
    • 2015-08-26
    • 1970-01-01
    相关资源
    最近更新 更多