在ASP.Net MVC +实体框架中设置字段更新序列

问题描述:

我有一个名为IsFieldA的布尔标志和两个字符串字段FieldA和FieldB。在ASP.Net MVC +实体框架中设置字段更新序列

我想根据IsFieldA值对FieldA或FieldB进行验证。 (如果IsFieldA为true,则只检查FieldA,否则只检查FieldB)

我试着通过删除这两个字段的生成验证来创建一个FieldAOrFieldB字段,该字段设置/获取字段值取决于IsFieldA值,并从那里检查。表单字段绑定在这个混合字段上。

当我翻转IsFieldA值时,我得到验证失败,因为它检查错误的字段。它先更新字段,然后翻转IsFieldA值。

有没有办法设置字段更新时的顺序?我想先更新开关,然后再更新FieldA或FieldB。更新顺序是否由它在实体中显示的顺序设置?

您可以创建自定义验证属性。通过将属性放在类上,您可以访问所有字段,以便可以检查其值并相应地进行验证。这question有一个很好的例子,并链接到 brad wilson的文章。