2011-07-26 40 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