2011-06-26 40 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)

希望这有助于