C# Webservice字段验证(外部使用)?

C# Webservice字段验证(外部使用)?,c#,asp.net,vb.net,asp.net-web-api,C#,Asp.net,Vb.net,Asp.net Web Api,我们一直在为客户开发ASP.NET Web服务 对于本地测试,localhost上的ASP.NET允许我们直接在ASP.NET提供的网页上输入字段值,可在以下位置看到: 我们是否应该具体说明: <UserIDNumber>string</UserIDNumber> 检查它是否是一个数字。如果没有,请说明: “为UserIDNumber输入一个有效的数字。”为了简化验证,您可以使用 例如: public class CustomerValidator : Abstrac

我们一直在为客户开发ASP.NET Web服务

对于本地测试,localhost上的ASP.NET允许我们直接在ASP.NET提供的网页上输入字段值,可在以下位置看到:

我们是否应该具体说明:

<UserIDNumber>string</UserIDNumber>
检查它是否是一个数字。如果没有,请说明:


“为UserIDNumber输入一个有效的数字。”

为了简化验证,您可以使用

例如:

public class CustomerValidator : AbstractValidator<Customer> {
  public CustomerValidator() {
    RuleFor(x => x.Surname).NotEmpty();
    RuleFor(x => x.UserIDNumber).NotEmpty().WithMessage("Enter a valid number for UserIDNumber");
    RuleFor(x => x.Discount).NotEqual(0).When(x => x.HasDiscount);
    RuleFor(x => x.Address).Length(20, 250);
    RuleFor(x => x.Postcode).Must(BeAValidPostcode).WithMessage("Please specify a valid postcode");
  }
// validate userID
long userID = 0;
if( long.TryParse(strUserIDNumber, out userID) == false)
{
   return "Not a valid userID";
}
公共类CustomerValidator:AbstractValidator{
公共CustomerValidator(){
RuleFor(x=>x.姓氏).NotEmpty();
RuleFor(x=>x.UserIDNumber).NotEmpty().WithMessage(“为UserIDNumber输入有效数字”);
规则(x=>x.Discount).NotEqual(0).When(x=>x.HasDiscount);
RuleFor(x=>x.Address).Length(20250);
RuleFor(x=>x.Postcode).Must(BeAValidPostcode).WithMessage(“请指定有效的邮政编码”);
}
如果传入无法转换为数字的字符串,则
Val(strUserIDNumber)>=1
将引发错误

检查传入的ID字符串是否可以转换为数字,然后验证电子邮件

例如:

public class CustomerValidator : AbstractValidator<Customer> {
  public CustomerValidator() {
    RuleFor(x => x.Surname).NotEmpty();
    RuleFor(x => x.UserIDNumber).NotEmpty().WithMessage("Enter a valid number for UserIDNumber");
    RuleFor(x => x.Discount).NotEqual(0).When(x => x.HasDiscount);
    RuleFor(x => x.Address).Length(20, 250);
    RuleFor(x => x.Postcode).Must(BeAValidPostcode).WithMessage("Please specify a valid postcode");
  }
// validate userID
long userID = 0;
if( long.TryParse(strUserIDNumber, out userID) == false)
{
   return "Not a valid userID";
}

您可以共享进行验证的代码吗?@ChetanRanpariya当前类似于“如果lngUserID>0,则返回True,否则返回False”。请注意,lngUserIDNumber是一个长的。
If Long.TryParse(userInput,LongVariable)然后
@Mary Yes我就是这么想的谢谢。我真正的问题是,当Web服务消费者在线看到asmx模式(与我们的文档相反)时,当他们将其视为字符串而不是长字符串时,他们会感到困惑吗?那么这类事情的正常做法是什么呢?谢谢,但是:Val(“a”)=0根据
// validate userID
long userID = 0;
if( long.TryParse(strUserIDNumber, out userID) == false)
{
   return "Not a valid userID";
}
//validate your email... something like this 
if (!CustomerEmailAddress.Contains("@"))
   return "Not a valid user email";
else if(CustomerEmailAddress == "")
   return "Enter a CustomerEmailAddress.";