如果这是我的观看模式:
public class ViewModel{
public string SimpleProperty{get;set;}
public SubViewModel ComplexProperty{ get;set;}
public SubViewModel[] ComplexPropertyArray{ get; set; }
}
public class SubViewModel{
public string NestedSimpleProperty{get;set;}
}
那么分配给ModelStateDictionary
的默认错误消息键是什么:
更新我在反射器中找到了这个:
protected internal static string CreateSubPropertyName(string prefix, string propertyName)
{
if (string.IsNullOrEmpty(prefix))
{
return propertyName;
}
if (string.IsNullOrEmpty(propertyName))
{
return prefix;
}
return (prefix + "." + propertyName);
}
所以,我认为除了#5和#6
之外,它涵盖了所有内容答案 0 :(得分:2)
如果您要求NestedSimpleProperty
:
public class SubViewModel
{
[Required]
public string NestedSimpleProperty{ get; set; }
}
然后你有一个表格,你有这个属性的多个文本框对应于ComplexPropertyArray
集合中的每个项目,那么将用于错误消息的密钥将是ComplexPropertyArray[i].NestedSimpleProperty
其中{{ 1}}表示数组中包含空值的元素的索引。