asp.net - 在其他视图模型中修改视图模型的验证
问题描述
在其他视图模型中时,我需要能够绕过/禁用/更改视图模型的验证。
例如,这是我的包含其他视图模型的视图模型:
public class OrderVM
{
public SignMethod SignMethod { get; set; }
public LoginVM LoginVM { get; set; }
public RegisterVM RegisterVM { get; set; }
}
public class LoginVM
{
[Required]
public string Email { get; set; }
// More properties here...
}
public class RegisterVM
{
[Required]
public string Email { get; set; }
// More properties here...
}
他们有我想绕过/禁用/更改或添加的验证属性(在属性上)。
在此示例中, 和 的视图模型LoginVM
必须RegisterVM
包含必需的属性,因为它是登录和注册页面的独立视图模型。
但是,在OrderVM
所需的验证内LoginVM
或RegisterVM
仅应根据SignMethod
属性应用,如果用户已选择,则应应用SignMethod.Login
所需的验证,并且应禁用,反之亦然。LoginVM
RegisterVM
我怎样才能实现这种行为并在视图模型中正确表示它?
解决方案
推荐阅读
- django-rest-framework - 如何在 django web 上显示图像?
- javascript - 带有子对象的Javascript递归JSON数组
- algorithm - 确定以下代码的运行时间(内部循环递归)
- android - Cordova - Android - 获取位置时的通知和图标
- go - Golang 无法将 XML 映射到 Struct
- python - 如何减少协方差函数的输出时间
- selenium-webdriver - vue-cli3+electron+chromedriver+selenium-webdriver 找不到元素
- c# - 每次按喜欢或不喜欢按钮时如何使页面不刷新?
- elasticsearch - Kibana 不会将正确的数据存储到正确的字段中
- kubernetes - YAML 文件的主要问题是什么?