好的,所以我有一个如下设置的属性。如果有人输入一个名称,即使是15个字符中的一个字符,也会收到错误消息。这是它应该工作的预期方式,除了我发现一个问题。如果在这15个字符的末尾有15个字符加上空格,则不会捕获错误。为什么这样,我该如何防止它。
实施例。 " Santa Fe MAMMAL" < - 验证不会发现这一点。 " Santa Fe MAMMALS" < - 验证确实抓住了这一点。
[StringLength(15, ErrorMessage = "CallerID can be no more than 15 Characters in length including spaces")]
public string CompanyNameCallerID { get; set; }
答案 0 :(得分:0)
嗯,这是奇怪的行为,但我们能做什么:(
我认为你无法通过StringLengthAttribute处理它(或者我不知道怎么做),但是你可以做这些事情:
[RegularExpression(@"^(.*\S)?$"), ErrorMessage = "Some error message")]
然而,我在这里看到的问题是它不会匹配任何字符串末尾的空格(任何字符数)
修剪属性 - 类似
private string m_CompanyNameCallerID = string.Empty;
get { return this.m_CompanyNameCallerID; }
set { this.m_CompanyNameCallerID = (string.IsNullOrWhiteSpace(value)) ? value : value.Trim(); }