Asp.net mvc 2 ASP.NET MVC2-是否在服务器端验证之前从表单提交中修剪空白?

Asp.net mvc 2 ASP.NET MVC2-是否在服务器端验证之前从表单提交中修剪空白?,asp.net-mvc-2,attributes,validation,trim,Asp.net Mvc 2,Attributes,Validation,Trim,如果添加验证属性: public class ProductDownloadListModel { //xxxxx-xxxxx-xxxxx [Required] [StringLength(17)] public string PSN { get; set; } public DateTime PsnExpirationDate { get; set; } public DataTable Downloads { get; set

如果添加验证属性:

public class ProductDownloadListModel
{        
    //xxxxx-xxxxx-xxxxx
    [Required]
    [StringLength(17)]
    public string PSN { get; set; }
    public DateTime PsnExpirationDate { get; set; } 
    public DataTable Downloads { get; set; } 

}

如果用户输入一个17个字符的字符串,但在末尾包含空格,则会出现验证错误,因为该字符串大于
[StringLength(17)]
属性指定的字符串。我怎样才能防止这种情况?我不希望javaScript在提交之前修剪字符串。

为什么不在html输入上使用maxlength属性


为PSN在电视机上进行修剪

public string PSN
{
    get
    {
        return (this.psn == null) ? string.Empty : this.psn;
    }
    set
    {
        this.psn = (value == null || value.Trim().Length == 0) ? null :value.Trim();
    }
}

问题是,用户通常从另一个文档复制并粘贴序列号,有时在相关字符串之前或之后拾取空格。我认为在设置了maxlength属性的字段中粘贴太多的文本只会修剪多余的字符,这会伤害他们的小脑袋=/是的,我甚至不能告诉你我有多少次因为一些显而易见的事情把头撞在墙上。显然是工作的一部分。:-)