我正在尝试使用 ASP.NET 编写一个 Web 应用程序,该应用程序在 Web 表单中采用数字货币值,然后在摘要表中显示该值。
我一直有一个问题,无论我在模型中放置什么验证,我仍然可以输入字母和特殊符号,用户应该被阻止在网络表单上直接使用。
我在我的模型中使用下面的代码,基于它我看不到我仍然能够输入非数值。
[Numeric]
[Min(1, ErrorMessage = "Please enter a valid number")]
[Required]
public Double GoalAmount { get; set; }
有什么我可以做的改变吗?
视图看起来像这样。
@model WebUI.Models.CreateFundModel
@{
ViewBag.Title = "Create";
}
<div id="container_demo" >
<div id="wrapper">
<div id="login" class="animate form">
@using (Html.BeginForm()){
@Html.AntiForgeryToken()
@Html.ValidationSummary()
<h1>Create Fund</h1>
<p>
@Html.LabelFor(m => m.Name)
@Html.TextBoxFor(m => m.Name)
@Html.ValidationMessageFor(m => m.Name)
</p>
<p>
@Html.LabelFor(m => m.GoalAmount)
@Html.TextBoxFor(m => m.GoalAmount)
@Html.ValidationMessageFor(m => m.GoalAmount)
</p>
<p>
@Html.LabelFor(m => m.ReleaseOn)
@Html.EditorFor(m => m.ReleaseOn)
@Html.ValidationMessageFor(m => m.ReleaseOn)
<script type="text/javascript">
$(document).ready(function () {
$("#date").datepicker({
showAnim: 'slideDown',
dateFormat: 'dd/mm/yyyy'
});
});
</script>
</p>
<p>
@Html.LabelFor(m => m.Frequency)
@Html.DropDownList("Frequency", string.Empty)
@Html.ValidationMessageFor(m => m.Frequency)
</p>
<p>
@Html.LabelFor(m => m.RecipiantAccount)
@Html.TextBoxFor(m => m.RecipiantAccount)
@Html.ValidationMessageFor(m => m.RecipiantAccount)
</p>
<p class="login button">
<input type="submit" value="Create" />
</p>
@Html.Partial("_LoginPartial")
}
</div>
</div>
</div>