MVC.net中的Jquery验证
我需要在MVC表单上添加jquery验证。我已将表单id指定为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
@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