【问题标题】:MVC 3 Data Annotation Attributes ignored intermittentlyMVC 3 数据注释属性间歇性地被忽略
【发布时间】:2011-09-22 20:57:15
【问题描述】:

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

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

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

感谢和问候, 伊利亚。

【问题讨论】:

  • 在您的视图中使用@Html.TextAreaFor 是否可以让您在不使用属性的情况下获取多行文本框?

标签: c# model-view-controller asp.net-mvc-3


【解决方案1】:

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

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

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

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2015-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-09
    • 2019-12-09
    • 2013-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多