如何使用Customvalidator校验号码
How to use Customvalidator to check number
我正在尝试使用 Customvalidator
来检查值,并确保该值应该是整数并且不能为空。一开始,我使用 RequiredValidator
和 RegularExpressionValidator
来实现。但是,我无法将他们的错误消息放在同一个地方,所以我更改了我的解决方案以使用 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 (????)
{
...
}
}
您可以使用 int.TryParse
或 decimal.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
.
的验证器
我正在尝试使用 Customvalidator
来检查值,并确保该值应该是整数并且不能为空。一开始,我使用 RequiredValidator
和 RegularExpressionValidator
来实现。但是,我无法将他们的错误消息放在同一个地方,所以我更改了我的解决方案以使用 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 (????)
{
...
}
}
您可以使用 int.TryParse
或 decimal.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
.