asp.net-mvc-3 – StringLength属性行为

栏目: ASP.NET · 发布时间: 6年前

内容简介:我有这样的属性,它检查最小和最大字符串长度:基本上它是如何在默认的asp.net mvc 3.0模板中声明(他们只有最大100).因此,如果字符串包含少于3个字符,则显示错误消息将是

我有这样的属性,它检查最小和最大字符串长度:

[StringLength(10, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 3)]
public string PropertyName {get; set;}

基本上它是如何在默认的asp.net mvc 3.0模板中声明(他们只有最大100).

因此,如果字符串包含少于3个字符,则显示错误消息将是

"The PropertyName  must be at least 3 characters long."

所以在这种情况下我没有看到任何问题

但如果字符串长度将超过10,则显示消息仍然是

"The PropertyName  must be at least 3 characters long."

所以现在不正确了

但是,如果我将消息模板更改为如下所示:

[StringLength(10, ErrorMessage = "The {0} must be at least {2} characters long and maximum {1} characters long", MinimumLength = 3)]

两种情况的错误信息将如下所示:

"The PropertyName must be at least 3 characters long and maximum 10 characters long"

而且还不是那么好

1)消息是长的

2)最好为每个案例显示单独的信息,问题是我该怎么做帽子?

有没有什么办法可以显示两个不同的消息,一个消息如果长度小于最小值,另一个消息的长度大于最大值?

我可以看到只有一种方法来修复它是声明两个单独的StringLength属性,一个将检查最小值为另一个最大值,但不可能在方法上添加两个相同的属性,我也将使用MinLength和MaxLength属性,但不会生成不引人注目的属性.所以看起来我应该写我的自定义验证属性

但是,对于一个StringLength验证属性,如果可能,每种情况(最小和最大)显示两个不同的消息将会很好,你觉得如何?


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

编程珠玑

编程珠玑

Jon Bentley / 黄倩、钱丽艳 / 人民邮电出版社 / 2008-10 / 39.00元

本书是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者Jon Bentley 以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。本书对各个层次的程序员都具有......一起来看看 《编程珠玑》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具