2011-06-26 65 views
1

我已經擴展了DataAnnotationExtensions項目,支持Min/Max/RangeWords驗證,包括服務器端和客戶端。驗證做工精美,但我看到以下問題:MVC 3數據註釋屬性間歇性忽略

鑑於描述爲

模型中的一個字段
[Required(ErrorMessage = "Please enter a short description")] 
[MaxWords(40, ErrorMessage = "Description is too long - 40 words max")] 
[DisplayName("Business description")] 
[DataType(DataType.MultilineText)] 
public string Description { get; set; } 

Data.MultilineText隻影響後我重新編譯項目(和/或使一些需要重新編譯的更改)。之後,多行類不會被添加到有問題的字段中。換句話說:我第一次運行表單時,一切都很正常;在第二次運行時,該屬性顯然被忽略,並且我得到一個單行文本框。

我應該指出,在項目中,錯誤信息和描述不是英文,而是希伯來文(不知道這是否有任何影響)。此外,驗證工作,無論是在這個項目和一個單獨的測試項目。

可能是什麼罪魁禍首?它在我身邊,還是DataType處理中的錯誤?

感謝和問候, 伊利亞。

+0

使用@ Html.TextAreaFor在查看選項供您獲取多行文本框而不使用該屬性? –

回答

0

如果可以的話,你應該在你的視圖中使用文本區域。

@Html.TextAreaFor(model => model.Description) 

你也可以寫EditorTemplate這一點,實現你想要的HTML和使用@Html.EditorFor(model => model.Description)

希望這有助於