Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MVC.net中的Jquery验证_Jquery_Asp.net Mvc - Fatal编程技术网

MVC.net中的Jquery验证

MVC.net中的Jquery验证,jquery,asp.net-mvc,Jquery,Asp.net Mvc,我需要在MVC表单上添加jquery验证。我已将表单id指定为 @using (Html.BeginForm(new { id = "Technologyform" })) 和输入字段 @Html.LabelFor(model => model.Name, htmlAttributes: new { @class = "control-label col-md-2 ", @id = "MyName" }) <div class="col-md-10"> @Html.E

我需要在MVC表单上添加jquery验证。我已将表单id指定为

@using (Html.BeginForm(new { id = "Technologyform" }))
和输入字段

@Html.LabelFor(model => model.Name, htmlAttributes: new { @class = "control-label col-md-2 ", @id = "MyName" })
<div class="col-md-10">
    @Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control", } })
    @Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger" })
</div>
我的Jquery脚本是这样的

<script language="javascript" type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script language="javascript" type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.10.0/jquery.validate.min.js"></script>
$(document).ready(function () {
    $('#MyName').rules('add', {
        required: true,
        messages: {
            required: 'The title field is required.'
        }
    });
    $(function() {
        $( "#Technologyform" ).validate({
            rules: {
                Name: {
                    required: true,
                    minlength: 4,
                    maxlength: 20,
                }
            },
            messages: {
                Name: {
                    required: "Dude, enter a name",
                    minlength: $.format("Keep typing, at least {0} characters required!"),
                    maxlength: $.format("Whoa! Maximum {0} characters allowed!")
                }
            }
        });

    });
});

它不起作用。怎么办

你走错了路。您已经在使用模型来创建自己的表单,所以最好使用jquery.validate.unbrusive,只需更新模型即可

   public class Whatever
   {
      [Required(ErrorMessage = "Dude, enter a name")]
      [MaxLength(20, ErrorMessage = "Dude are you joking me you cannot enter that much character.. ")]        
      [MinLength(4, ErrorMessage = "Not enough character enter moree..")]
      public string Name { get; set; }
   }
在此之后,只需删除所有javascript代码。还记得添加jquery.validate.unbrusive.js作为链接吗

您还需要添加jquery.validate.unobtrusive.min.js的引用。 通过执行简单的操作来启用或禁用MVC中的客户端验证 配置/代码更改。在Web.Config中。

当你说它不起作用时,你需要告诉我们你的意思。你到底遇到了什么问题?JavaScript控制台中是否有错误?您甚至没有id=MyName的表单控件,但有id=Name的表单控件。但为什么要手动执行此操作,而不是使用jquery.validate.unbrusive.js?Html帮助程序中的id不需要前缀@。。如@id