如何在MVC3中为empty和isNAN函数赋予Expression

时间:2012-01-25 16:56:27

标签: asp.net asp.net-mvc asp.net-mvc-3 asp.net-mvc-2

在Jquery.i中,我正在从jquery到MVC3 Atrribute的验证之下进行迁移。

if($(“#PrevPlanMonths”)。val()!=''&& isNaN($(“#PrevPlanMonths”)。val())){validationSummary = validationSummary +“!Previous Plan duration is is无效。\ n“; isValid = false; }

.NET public short PreviousPlanDuration {get;组; }

2 个答案:

答案 0 :(得分:0)

如果我理解你的问题,你就会问如何使用MVC属性获得相同的验证。如果这是你想要的,你应该尝试:

 [Required(ErrorMessage="Previous Plan duration is invalid")]
 [DisplayName("Previous Plan Duration")]
 public short? PreviousPlanDuration {get;set;}

在你的观点中:

 <div>
      <div><%: Html.LabelFor(model => Model.PreviousPlanDuration) %><%: Html.ValidationMessageFor(model => Model.PreviousPlanDuration) %></div>
      <div><%: Html.EditorFor(model => Model.PreviousPlanDuration) %></div>
 </div>

如果您想对该值执行某些操作,因为它是可空类型,请使用:

  PreviousPlanDuration.Value

答案 1 :(得分:0)

如果我正确阅读了您的验证,如果该值不为空,您正在检查它是否为数字?由于您已将属性声明为short(整数),因此当您尝试对bind进行建模时,如果该值不是整数,则UpdateModel将失败并且数据类型不匹配。至于required,只需使用Required属性修饰属性。

[Required("This field is required")]
public short PreviousPlanDuration { get; set; }