gpt4 book ai didi

c# - 创建 DataAnnotation 以确保用户指定了一种类型的电子邮件地址并且存在默认值

转载 作者:行者123 更新时间:2023-11-30 21:41:11 26 4
gpt4 key购买 nike

我有一个 Person 类,其中一个人可以有 3 种类型的电子邮件地址 - 家庭、工作、其他。

必须至少指定其中之一,并且必须指定默认电子邮件地址 - 这只是一个 bool 值。

我要用 DataAnnotation 试试这个(如果这是正确的方法?!)

关于如何编写此 DataAnnotation 的任何想法?

public class Email
{
[EmailAddress]
public string Address { get; set; }

public bool? Default { get; set; }
}

public class PersonEmail
{
public Email Home { get; set; }

public Email Work { get; set; }

public Email Other { get; set; }
}

public class Person
{

//Other property goes here
//Other property goes here
//Other property goes here
//Other property goes here

[MyDefaultEmailAddressValidation]
public PersonEmail Email { get; set; }

}

最佳答案

创建另一个属性来检查所有 3 个地址是否都是,并使用数据注释表明这个新属性的范围只能接受true.

例子:

    [Range(typeof(bool), "true", "true", ErrorMessage = "The field Email must be informed.")]
public bool IsEmailInformed
{
get
{
return (string.IsNullOrEmpty(Home.Address) == false ||
string.IsNullOrEmpty(Work.Address) == false ||
string.IsNullOrEmpty(Other.Address) == false);
}
}

关于c# - 创建 DataAnnotation 以确保用户指定了一种类型的电子邮件地址并且存在默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43635492/

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