【问题标题】:asp.net mvc 3 Validation based on previous textboxasp.net mvc 3 Validation based on previous textbox
【发布时间】:2016-07-26 05:49:06
【问题描述】:

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

【问题讨论】:

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


【解决方案1】:

型号

    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>
}

【讨论】:

  • 您好,您使用正则表达式验证器进行验证。我的问题是我需要验证我的“年龄”文本框,它应该在“出生日期”和 100 的范围内
【解决方案2】:

你应该学会使用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();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-14
    • 1970-01-01
    • 2020-06-12
    • 1970-01-01
    相关资源
    最近更新 更多