2011-07-26 37 views
0

在我RazorView我使用:验证中的魔法在哪里?

@Html.Editor(prop.PropertyName) 

得到EditorForm。它还创建带有验证消息的标签:data-val-*。但在这个自动生成的验证消息中,变量名显示为类型。

data-val-number="The field "Int32" must be numeric." 

我想这是因为卡梅斯到Validationfunction对象错过了VARIABLENAME,所以他使用的类型。所以我需要知道函数试图获取variablenname的位置,或函数试图读取哪个字段来解决此问题。

p.s. 我真的不想改变我以前的代码来解决这个问题,它有他的原因为什么它是这样的;-)

+0

默认情况下,一个Razor视图不会输出验证消息的INT32从@ Html.Editor()提起仅仅指刚你有一个@ Html.ValidationMessageFor。另外我会建议改变你的帖子的名称,措辞不是很好。 –

回答

1

变量名称将默认为属性名称,除非您将[DisplayName("New Name")]属性添加到属性可以改变使用的名称。 prop在你的例子中是什么类型?

+0

'@foreach(在ViewData.ModelMetadata.Properties.Where VAR丙(PM => Html.ShouldShow(PM)))' – jwillmer