微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Asp.net mvc dataannotation MaxLength验证不起作用

我在我的模型中使用asp.net mvc4我正在使用Maxlength属性,但它不适用于字符串.
只有Stringlength工作有人有同样的问题吗?如果有问题怎么解决?它无效验证我的字段
这是我的代码

(不工作)

[required]
[MaxLength(80)]
[displayName("Contact Name:")]
public string ContactName { get; set; }

(加工)

[required]
[StringLength(80)]
[displayName("Contact Name:")]
public string ContactName { get; set; }

解决方法

这两个属性都在System.ComponentModel.DataAnnotations命名空间中

根据实体框架的Microsoft官方网站[MaxLenth]属性
因为实体框架知道您的案例中数据库中列的最大长度是多少(例如varchar(80))

指定属性中允许的数组或字符串数​​据的最大长度.

http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.maxlengthattribute.aspx

像你们其中一个评论你说你没有使用实体框架回复@jackncoke所以[MaxLength(80)]将不会工作

但是在第二种情况下[StringLength(80)]正在工作,因为它对实体框架没有任何依赖.

如果您使用的是实体框架,或者没有它,SO [StringLength(80)]将在两种情况下工作

指定数据字段中允许的字符的最小和最大长度.

http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.stringlengthattribute.aspx

原文地址:https://www.jb51.cc/aspnet/250861.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐