我有这段代码,分布在不同的实例中,使用了MVC Foolproof Validation中的RequiredIf
属性。
[Display(Name = "ID Number")]
[RequiredIf("CitizenshipId", 1)]
public string IdNumber { get; set; }
但是我真正想要的是:
[RequiredIf("CitizenshipId", GetId("SA Citizen")]
现在,正如我认为其他许多开发人员也希望的那样,是要消除魔数1。目前,我想到的只是一个查找函数参数的字符串名称,该函数必须进行查找。将1变成“1”就很糟糕。
注意:常量在这里并不理想,因为上面的魔数是指数据库的PK。我认为这也不理想,我应该添加第三列来生成每个查找条目的“常量代码”,无论PK和文本如何,我们仍然有一个不可变的值。
NB 注意:我正在Orchard内部工作,所以不要使用自定义提供程序。