Bootstrap/jQuery form Validation with ASP.NET - 非常基本的功能
Bootstrap/jQuery form Validation with ASP.NET - Very Basic Functionality
我是一个经验丰富的.NET开发人员,并且正在用jQuery和Bootstrap"到达那里"。我正在尝试集成jQuery表单验证(jquery.validator.js附加组件),但似乎无法获得基础知识。我觉得我正在做文档指定的操作,以使基本示例正常工作,但我显然缺少一些东西。
这是我的页面包括:
<link href="/Content/bootstrap.min.css" rel="stylesheet" type="text/css" />
<link href="/Content/bootstrap-theme.min.css" rel="stylesheet" type="text/css" />
<link href="/Content/datepicker3.css" rel="stylesheet" type="text/css" />
<link href="/Content/site-style-main.css" rel="stylesheet" type="text/css" />
<script src="/Scripts/jquery-2.1.1.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.validate.min.js" type="text/javascript"></script>
<script src="/Scripts/bootstrap.min.js" type="text/javascript"></script>
<script src="/Scripts/bootstrap-datepicker.js" type="text/javascript"></script>
<script src="https://www.google.com/recaptcha/api.js" type="text/javascript"></script>
<script src="/Scripts/site-script-step1validate.js" type="text/javascript"></script>
以下是与要验证的字段之一相关的 HTML 和表单:
<form name="aspnetForm" method="post" action="Step1.aspx?RecertID=1" id="aspnetForm" class="form-horizontal" enctype="multipart/form-data" role="form">
<div class="form-group">
<div class="input-group">
<span class="input-group-addon">First Name</span>
<input name="ctl00$PageContent$RecertVFCFormView$ProviderFirstName" type="text" maxlength="256" id="ProviderFirstName" class="form-control" />
</div>
</div>
<a id="ExitButton" class="btn btn-primary btn-sm" href="javascript:__doPostBack('ctl00$PageContent$RecertVFCFormView$StepController$ExitButton','')">
<i class="glyphicon glyphicon-new-window" aria-hidden="true"></i> Exit
</a>
</form>
这是我的jQuery的样子(site-script-step1validate.js):
$(document).ready(function () {
$('#ProviderMedLicenseExpiration').datepicker();
$('#aspnetForm').validate({
onsubmit: false,
rules: {
ProviderFirstName: {
required: true
}
},
highlight: function (element) {
$(element).closest('.form-group').addClass('has-error');
}
});
$('#ExitButton').click(function (e) {
var isValid = $('#aspnetForm').valid();
if (!isValid) {
e.preventDefault();
}
});
});
在这一点上,我的期望只是,如果没有填充名字字段,表单将无法提交;它不会。我知道我的 ExitButton.click 功能正在被达到,并且是有效的结束为真。
看起来很简单,我无法完全弄清楚我错过了什么。可能是非常简单的事情。
问题是ProviderFirstName
规则必须与尝试验证的输入控件的名称匹配。如果您检查 HTML,您将看到名称是 ctl00$PageContent$RecertVFCFormView$ProviderFirstName
.因此,该规则被忽略。
如果使用 asp.net 4+,一个可能的解决方案是将TextBox
控件的ClientIDMode
定义为static
以避免 .net 引擎基于父容器更改 id。
另一个可能违背您的训练目的的选项是将required
添加到TextBox
标记并删除自定义规则ProviderFirstName
。它将具有相同的最终结果,并且最终在真实场景中更有意义。
相关文章:
- 添加文字和评论功能更新Div
- JavaScript打印功能使日历停止工作
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 如何防止网页加载后自动启动功能
- 除修剪外的其他功能
- 悬停功能触发器
- 使用angularjs向浏览器发送servlet响应(下载功能)
- 删除CKEditor工具栏按钮,但不删除功能
- 异步facebook功能
- 如何将chrome扩展功能移植到移动设备(特别是jquery和trello)
- jQuery滚动功能只工作一次
- Graphiti中是否有任何工具提示功能
- React redux初始化功能,无论状态变化如何
- 在哪里可以学习ECMAScript标准中尚未包含的JavaScript功能
- Javascript非常简单:'阅读更多''显示较少'应用于Wordpress的功能
- 网站中非常酷的javascript或CSS功能
- Bootstrap/jQuery form Validation with ASP.NET - 非常基本的功能
- 非常简单的jQuery剧透功能一半有效
- 我有两个非常相似的功能,但只有一个有效
- 非常向后兼容.每个功能