有人可以帮我在mvc3 html可编辑网格中进行验证吗?列上的值总和不应超过100。我可以使用jQuery验证还是进行服务器端验证?
答案 0 :(得分:0)
这是服务器端验证
类别:
public class Party
{
[Required(ErrorMessage = "Start date is required")]
public DateTime StartDate { get; set; }
[Required(ErrorMessage = "Duration is required")]
public int DurationInHours { get; set; }
[Required(ErrorMessage = "No. of joinees is required")]
[Range(2, 10, ErrorMessage = "No. of joinees should be minimum 2 and not more than 10")]
public int NoOfJoinees { get; set; }
public bool Drinks { get; set; }
}
控制器:
public class PartyController: Controller
{
public ActionResult Index()
{
return View();
}
}
查看:
@model CustomValidation.MVC.Models.Party
@using (Html.BeginForm())
{
@Html.ValidationSummary()
Start date (MM/dd/yyyy HH:mm:ss AM/PM) *: @Html.TextBoxFor(x => x.StartDate, new { size = 25 })
Duration (Hours) *: @Html.DropDownListFor(x => x.DurationInHours, new[]{
new SelectListItem(){ Text = "1", Value = "1"},
new SelectListItem(){ Text = "2", Value = "2"},
new SelectListItem(){ Text = "3", Value = "3"},
new SelectListItem(){ Text = "4", Value = "4"},
new SelectListItem(){ Text = "5", Value = "5"}
}, "Select the duration", new { style = "width:180px" })
No. of joinees *: @Html.TextBoxFor(x => x.NoOfJoinees, new { size = 5 })
Drinks? @Html.CheckBoxFor(x => x.Drinks)
<input type="submit" value="Host the party!" />
}
和客户端验证:
HTML
<input type="text" id="UserName" name="UserName"/>
<input type="button" onclick="Validation()" value="Enter" />
使用Javascript:
function Validation() {
var data= {
UserName: $('#UserName').val()
};
if (data.UserName.trim() == "" || data.UserName== undefined) {
$("#ShowWarning").html('<img src="/Image/warning.jpg" title="Please Enter UserName!">').show();
}
您也可以查看以下示例
我希望能帮到你
答案 1 :(得分:0)
在MVC中,您应始终使用客户端和服务器端验证。如果使用验证属性标记模型,则服务器端和客户端验证都应该正常工作。
请检查此链接以获取MVC3中的详细验证 - http://bradwilson.typepad.com/blog/2010/10/mvc3-unobtrusive-validation.html
另请参阅以下Scott-Gu博客,以帮助验证。
http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx