是否可以设置ValidationAttribute.实例化对象时的ErrorMessage值
本文关键字:ErrorMessage 对象 实例化 设置 ValidationAttribute 是否 | 更新日期: 2023-09-27 18:18:58
我有一个类的Required属性和ErrorMessage:
public class Color
{
[Required(ErrorMessage = "Please Select Color")]
public int Id { get; set; }
public string Name { get; set; }
}
我在两个不同的下拉菜单中使用类的对象,并希望将显示的验证错误消息更改为特定于下拉菜单。因此,对于一个下拉框,消息将是"请选择新颜色",而对于另一个下拉框,消息将是"请选择旧颜色"。
因此,当我创建如下所示的对象时,我是否也可以在Required属性上设置ErrorMessage ?
Fruit newFruit = new Fruit()
{
Id = 1,
Name = "Apple"
}
传递给属性的值必须在编译时为编译器所知时间。
来源:MSDN
所以我猜你不能这样做,但是你可以在其他地方改变errormessage,或者在你的类中使用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:
如何自定义验证属性错误消息?