如何在c#中动态设置/删除属性?

M.A*_*zad 6 c# wpf attributes mvvm

我在我的项目中使用属性验证.

[Required(ErrorMessage = "DepartmentCode is Required")]
public string DepartmentCode { get; set; }
Run Code Online (Sandbox Code Playgroud)

在某些情况下,不需要DepartmentCode.在我的情况下,如何动态忽略验证?

Ant*_*haw 0

我会从您的模型中删除RequiredAttribute,并在您点击控制器后检查它,并检查它是否导致不需要它。

如果属于需要填写但值没有填写的情况,请手动将错误添加到ModelState中

ModelState.AddModelError("DepartmantCode", "DepartmantCode is Required");

这样你就会失去客户端的验证