gpt4 book ai didi

asp.net-mvc - ASP.NET MVC 2 中的元数据类型和客户端验证

转载 作者:行者123 更新时间:2023-12-04 20:59:29 24 4
gpt4 key购买 nike

继承的属性和 MetadataType 似乎不适用于 ASP.NET MVC 2 中的客户端验证。

我们的元数据类型的验证在服务器上按预期工作,但由于某种原因,它没有为其生成适当的客户端脚本。对于在 PersonView 上设置了 DataAnnotations 属性的属性,客户端验证会按预期启动,因此我知道客户端验证处于事件状态并且可以正常工作。 有谁知道它是否或如何修复?

这是我们所拥有的:

public abstract class PersonView
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
[Required] public string PhoneNumber { get; set; }
public string AddressLine1 { get; set; }
public string AddressLine2 { get; set; }
public string AddressZipCode { get; set; }
public string AddressCity { get; set; }
public string AddressCountry { get; set; }
}

[MetadataType(typeof(CustomerViewMetaData))]
public class CustomerView : PersonView {}

[MetadataType(typeof(GuestViewMetaData))]
public class GuestView : PersonView {}

public class GuestViewMetaData
{
[Required(ErrorMessage = "The guests firstname is required")] public string FirstName { get; set; }
[Required(ErrorMessage = "The guests lastname is required")] public string LastName { get; set; }
}

public class CustomerViewMetaData
{
[Required(ErrorMessage = "The customers firstname is required")] public string FirstName { get; set; }
[Required(ErrorMessage = "The customers lastname is required")] public string LastName { get; set; }
[Required(ErrorMessage = "The customers emails is required")] public string Email { get; set; }
}

如您所见,里面没有什么花哨或奇怪的东西......它可以修复吗? 它是 ASP.NET MVC 2 中的错误吗?

最佳答案

据微软官方 这是 ASP.NET MVC 2 中的一个错误 .我得到了下面的链接,虽然场景不完全相同,但似乎是相同的问题。据我所知,它与继承的属性和 DataAnnotations 模型元数据提供程序有关。该链接表示他们将尝试解决 ASP.NET MVC 3 中的问题。

Asp.net MVC 2 RC2: the client side validation does not work with overridden properties

关于asp.net-mvc - ASP.NET MVC 2 中的元数据类型和客户端验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2475906/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com