gpt4 book ai didi

c# - ASP.NET MVC 在验证之前修改 View 模型属性

转载 作者:行者123 更新时间:2023-11-30 15:28:12 25 4
gpt4 key购买 nike

我一直在谷歌上疯狂搜索但没有结果,也许我只是错过了正确的关键字。

我有一个在属性上具有自定义验证属性的类。我想在验证之前“清理”该值,删除我们接受但不想保存到数据库中的空格和特殊字符。

public class PersonViewModel
{
[SocialSecurityNumberLuhn(ErrorMessage = "Incorrect social security number")]
public string SocialSecurityNumber { get; set; }
}

我想做这样的事情:

public class PersonViewModel
{
[CleanWhiteSpace]
[SocialSecurityNumberLuhn(ErrorMessage = "Incorrect social security number")]
public string SocialSecurityNumber { get; set; }
}

例如 1985-03-15-1234 应保存并验证为 19850315-1234。

有什么建议吗?什么是最巧妙的方法?

最佳答案

如果将自动实现的属性更改为手动实现的属性,则可以在设置值时执行“清理”步骤,因此它只能以“清理”状态存储在模型中。像这样:

public class PersonViewModel
{
private string _socialSecurityNumber;

[SocialSecurityNumberLuhn(ErrorMessage = "Incorrect social security number")]
public string SocialSecurityNumber
{
get { return _socialSecurityNumber; }
set
{
_socialSecurityNumber = CleanSocialSecurityNumber(value);
}
}
}

关于c# - ASP.NET MVC 在验证之前修改 View 模型属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26102402/

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