ASP.NET MVC2 - обрезать пустое пространство от отправки формы до проверки на стороне сервера? - PullRequest
3 голосов
/ 07 января 2011

Если я добавлю атрибут проверки:

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 не обрезал строку перед отправкой.

Ответы [ 2 ]

5 голосов
/ 07 января 2011

Сделайте обрезку на вашем наборе для 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();
    }
}
1 голос
/ 07 января 2011

Почему бы не использовать атрибут maxlength на входе html?

http://www.w3schools.com/tags/att_input_maxlength.asp

...