2013-08-14 3 views
0

У меня есть эти два текстовых поля, и мне нужно, чтобы они разрешали вводить только 2 десятичных знака. Я могу совместить событие jQuery или Javascript. Я просто не уверен, как вызвать текстовое поле в Javascript. Любая помощь будет оцененаset textboxfor принять 2 десятичных знака

@Html.TextBoxFor(m => Model.Categories[c].EstimateGroups[g].EstimateItems[i].PerUnitCost, 
       new { @disabled = "disabled", @onchange = "costUpdate(this);", @cstType = "perUnit",@id="perUnit"}) 

<span class="sideLabel">@Model.Categories[c].EstimateGroups[g].EstimateItems[i].PerUnitDescription</span> 

if (Model.Categories[c].EstimateGroups[g].EstimateItems[i].Units != null 
&& !Model.Categories[c].EstimateGroups[g].EstimateItems[i].IsBasedOnHomeSquareFootage) 
{ 
    @Html.TextBoxFor(m => Model.Categories[c].EstimateGroups[g].EstimateItems[i].Units, 
        new { @disabled = "disabled", @onchange = "costUpdate(this);", @cstType = "units" }) 
} 

ответ

2

Вы можете использовать атрибут RegularExpression. Это сделает работу.

[RegularExpression(@"^\d+.\d{0,2}$", 
      ErrorMessage = "It cannot have more than one decimal point value")] 
public double PerUnitCost {get;set;} 

В этом {0,2}, 0 и 2 означает минимальные и максимальные цифры после десятичного знака. Так что измените в соответствии с вашим требованием.

+0

+1 очень простой способ. Хотя описание запроса было сложным. –

+0

@PKKG, я попытаюсь объяснить лучше в следующий раз – Satpal

+0

Извините :) Я имел в виду, описание запроса. –

Смежные вопросы