【问题标题】:ASP.NET MVC - Unrequired server-side validation is firingASP.NET MVC - 触发不需要的服务器端验证
【发布时间】:2021-01-16 04:11:24
【问题描述】:

我正在尝试使用服务器端验证和 MetaData 类保存记录,这在异常情况下可以正常工作。 我正在使用的类是数据库模型类,我添加了一个元数据类,我在其中指定了验证。 现在,当我尝试使用 DataAnnotations 验证指定的模型时,一个没有“Required” DataAnnotation 的字段会按要求触发。

public class ClientesMetaData
{
    [Required]
    [Display(Name = "Cliente")]
    public string AliasCliente;

    [Required]
    [Display(Name = "Razón Social")]
    public string RazonSocial;

    [Range(9999999999, 100000000000, ErrorMessage = "El CUIT debe tener 11 dígitos.")]
    [Required]
    public long CUIT;

    [Required]
    [Display(Name = "Teléfono Corporativo")]
    public string TelefonoCorporativo;

    [Required]
    public int Provincia;

    [Required]
    public int Localidad;

    [Required]
    public string Calle;

    [Required]
    public string Altura;

    [Required]
    public string Piso;

}

//Asociation with Entity Model
[MetadataType(typeof(ClientesMetaData))]
public partial class Clientes
{
    //Excluise Model Properties
    public string ProvinciaString { get; set; }
    public string LocalidadString { get; set; }
}

(已验证的字段) https://i.stack.imgur.com/fJLwn.png

(抛出错误。来自元数据类中未指定的第一个字段“IdCliente”) https://i.stack.imgur.com/g9PdI.png

验证摘要 https://i.stack.imgur.com/BLh0F.png


编辑: 客户端实体模型

https://i.stack.imgur.com/cFw5d.png

【问题讨论】:

  • 我认为您的 IdClient 是您的数据库模型的键,默认情况下需要键,您可以为客户端共享数据库模型吗?
  • @SaeedEsmaeelinejad 有更新问题。

标签: c# asp.net asp.net-mvc asp.net-mvc-4


【解决方案1】:

这是一个初始化问题。 我需要初始化从 View(model) 方法发送的 Clientes 模型。

ModelState.IsValid is always returning false

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-28
    • 2011-07-20
    • 2010-10-16
    • 2019-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多