XML asmx注释未验证大小和要求

时间:2017-08-31 14:48:14

标签: c# xml web-services soap asmx

我正在创建一个SOAP Web服务。我的请求XML是这样的:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
   <soapenv:Body>
      <tem:Inserir>
         <tem:dados>
            <tem:NroEmpresa>aaaa</tem:NroEmpresa>
            <tem:NomeCliente>dfdsfdsfsdfdsfdsfd</tem:NomeCliente>
         </tem:dados>
      </tem:Inserir>
   </soapenv:Body>
</soapenv:Envelope>

我的XML对象是:

public class NoContaDigital
{
    [XmlElement(IsNullable = false)]
    [StringLength(2,ErrorMessage="Tamanho do campo excede limite."),Required]
    public string NroEmpresa { get; set; }
    [XmlElement(Type = typeof(string),IsNullable =false)]
    [StringLength(80, ErrorMessage = "Tamanho do campo excede limite."), Required]
}

即使我发送一个空值(这是必需的),也没有验证限制为2的StringLength。

我是否需要实现任何类来验证它?

1 个答案:

答案 0 :(得分:1)

也许你可以试试:

public class NoContaDigital
{
    [XmlElement(IsNullable = false)]
    [Required(ErrorMessage = "Required")]
    [StringLength(2,ErrorMessage="Tamanho do campo excede limite.")]
    public string NroEmpresa { get; set; }
} 

它可能是数据注释的顺序。