2016-02-18 2 views
0

У меня есть текстовое поле, в таблице. то естьcshtml TextBoxFor должен принимать только числа (0-10)

Я должен разрешать только номера в текстовом поле, и я пытаюсь сделать это, как показано ниже.

Но, (+ и - и .) символы принимаются в текстовом поле (Ex: "+123", "-123",»0,123"), хотя я делаю @type="number"

Любая помощь будет быть оцененным.

Мой код

<td>@Html.TextBoxFor(modelItem => item.Amount, new { @id = "amount", @type = "number"})</td> 

ответ

1

Вы можете использовать unobtrusivevalidation для этого случая.

После добавления сценариев и изменений Web.Config вы должны просто аннотировать свойства модели:

public class YourViewModel 
{ 
    [Range(typeof(int), "0", "10", ErrorMessage = "{0} can only be between {1} and {2}")] 
    public int Amount { get; set; } 
    /* other properties */ 
} 

И потом, если вы пишете так же, как это:

<td>@Html.TextBoxFor(x => x.Amount)</td> 

Бритва создаст input с проверкой клиента.