我有一个具有Required属性和ErrorMessage的类:
public class Color
{
[Required(ErrorMessage = "Please Select Color")]
public int Id { get; set; }
public string Name { get; set; }
}
我在两个不同的下拉列表中使用该类的对象,并希望更改显示为特定于下拉列表的验证错误消息。因此,对于一个下拉列表,消息将是"请选择新颜色"对于另一个下拉列表,消息将是"请选择旧颜色"。
因此,当我创建如下所示的对象时,我是否还可以在必需属性上设置ErrorMessage?
Fruit newFruit = new Fruit()
{
Id = 1,
Name = "Apple"
}
答案 0 :(得分:1)
传递给属性的值必须在编译时为编译器所知 时间。
来源:MSDN
所以我想你不能这样,但你可以在其他地方更改错误消息,或者在你的类中使用ErrorMessage属性。
建议1:
// in class
[Required(ErrorMessage = "Please select {0} color")]
public int Id { get; set; }
//gui
string errormessage = ""; //get errormessage here
string state = "old" //get state;
errormessage = string.Format(errormessage, state);
//set errormessage
建议2: