asp.net mvc 3基于以前的文本框验证

时间:2016-04-06 03:02:45

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

我在我的网络应用程序中使用MVC 3。在我的应用程序中,我有一个用户输入表单。在这种形式中,我有两个文本框字段,即出生日期和计划年龄。对于那些字段,我需要进行验证。出生日期将是正常的日期验证,我自己做了。问题是计划年龄,它应该是从出生日期和100计算的年龄之间。当用户单击选项卡或离开计划年龄文本框时,我需要抛出错误消息。我需要在客户端进行验证。有没有想过实现它?

2 个答案:

答案 0 :(得分:0)

模型

    public class RegisterModel

     {
      public int ID { get; set; }

      [RegularExpression(@"^PR[a-zA-Z0-9]2([a-zA-Z0-9]*)$", ErrorMessage = "Please enter valid Name.")]
      [Required(ErrorMessage = "Name is required.")]
      public string Name { get; set; }
    }

查看

@using (Html.BeginForm("DYmanicControllerPage", "Test", FormMethod.Post, new { id = "FrmIndex" }))
{ 
      <div>
          @Html.LabelFor(m => m.Name)
          @Html.TextBoxFor(m => m.Name)
          @Html.ValidationMessageFor(m => m.Name)
      </div>
}

答案 1 :(得分:0)

您应该学会使用jquery验证插件:https://jqueryvalidation.org/

以下是一个工作示例,说明了您的案例:https://jsfiddle.net/AurelianCtin/b84j1xyn/3/

HTML:

<form id="form1" name="form1">
  Plan age:
  <input id="field2" type="text" class="planAgeValid"/>
</form>

<div>
  <input id="btn" type="button" value="Validate" />
</div>

JAVASCRIPT:

$(function() {
     $.validator.addMethod("planAgeValid",function(value) {     
         return value > getcalculatedage() && value < 100;
   }, "Please enter a valid planned age!");
 });

 $('#btn').click(function() {
     $("#form1").valid();
 });

 function getcalculatedage() {
     return 18;
 }

您可以验证整个表单:

 $("form").valid();

或者如果您愿意,您只能验证一个输入:

  $("#field2").valid();