MVC 3数据注释属性被间歇性忽略

本文关键字:数据 注释 属性 MVC | 更新日期: 2023-09-27 18:00:29

我扩展了DataAnnotationExtensions项目,支持服务器和客户端的Min/Max/RangeWords验证。验证效果很好,但我看到了以下问题:

给定模型中描述为的字段

[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.MultlineText只有在我重新编译项目(和/或进行一些需要重新编译的更改)后才立即生效。之后,多行类不会添加到有问题的字段中。换句话说:我第一次运行表单时,一切看起来都很好;在第二次运行时,该属性显然被忽略了,我得到了一个单行文本框。

我应该指出,在这个项目中,错误消息和描述不是用英语写的,而是用希伯来语写的(不确定这是否有任何效果)。此外,验证在这个项目内部和单独的测试项目中都有效。

罪魁祸首可能是什么?这是我这边的问题,还是DataType处理中的错误?

谢谢和问候,伊利亚。

MVC 3数据注释属性被间歇性忽略

如果可以的话,您应该在视图中使用文本区域。

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

您也可以为此编写EditorTemplate,实现您想要的html并使用@Html.EditorFor(model => model.Description)

希望这能帮助