gpt4 book ai didi

asp.net-mvc - 如何使用 ASP.NET MVC 2 验证复杂模型

转载 作者:行者123 更新时间:2023-12-01 05:43:53 25 4
gpt4 key购买 nike

public class UserModel
{
[Required(ErrorMessage = "Le nom est requis.")]
[UIHint("String")]
[DataType(DataType.Text)]
[DisplayName("Nom")]
public string Lastname { get; set; }

[DataType(DataType.Text)]
[UIHint("String")]
[DisplayName("Prénom")]
public string Firstname { get; set; }

[Required(ErrorMessage="La spécialité principale est requise.")]
[DisplayName("Spécialité principale")]
public Speciality PrimarySpeciality { get; set; }

[DisplayName("Spécialité secondaire")]
public Speciality SecondarySpeciality { get; set; }
}

public class SpecialityModel
{
[Required(ErrorMessage = "La spécialité est requise.")]
public int Id { get; set; }

public string Name { get; set; }
}

怎么可能需要第一专业而不是第二专业?
似乎Required 属性只检查可为空但Specialty 永远不会为空。

编辑:

看完这篇文章 http://bradwilson.typepad.com/blog/2010/01/input-validation-vs-model-validation-in-aspnet-mvc.html
我正在重新表述我的问题:如何防止在主对象之前进行子属性验证。如您所见,SecondarySpeciality 不是必需的,但仍然可以验证 Address 类上 DataAnnotation 的原因。
我认为 mvc2 不能与模型验证一起使用。
我应该选择普通模型吗? (这意味着更多的映射,但如果它有效......)

最佳答案

要对复杂对象进行验证,您需要通过创建自己的验证属性来实现自定义验证。我会打出一个简单的例子,但 Phil Haack 在这方面有一篇很棒的文章:

http://haacked.com/archive/2009/11/19/aspnetmvc2-custom-validation.aspx

关于asp.net-mvc - 如何使用 ASP.NET MVC 2 验证复杂模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3568359/

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