MVC遇上bootstrap后ajax表单验证的示例分析
发表于:2025-11-06 作者:千家信息网编辑
千家信息网最后更新 2025年11月06日,这篇文章主要介绍了MVC遇上bootstrap后ajax表单验证的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。使用boots
千家信息网最后更新 2025年11月06日MVC遇上bootstrap后ajax表单验证的示例分析
这篇文章主要介绍了MVC遇上bootstrap后ajax表单验证的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
使用bootstrap后他由他自带的样式has-error,想要使用它就会比较麻烦,往常使用jquery.validate的话只有使用他自己的样式了,而且有模型在使用模型验证更方便点。怎么解决呢?
当然你可以专门写一个针对此的jquery插件,我觉得蛮麻烦的,喜欢写插件的研究下吧。
首先Nuget获取一个 MVC EditorTemplates for Bootstrap 3 的组件,有了他以后就有了一些模版,比如比较简单的一个Text:
@model object@Html.LabelFor(m => m, new { @class = "control-label" })@Html.TextBox( "", ViewData.TemplateInfo.FormattedModelValue, ViewBag.ClearTextField == true ? new { @class = "form-control clear-text-field input-block-level" } : new { @class = "form-control input-block-level" } ) @Html.ValidationMessageFor(m => m, null, new { @class = "help-block" })
这样子以后在使用EditorFor后就会直接输出bootstrap需要的html,比较方便。
我们看到里面已经有了验证失败的has-error的处理,第二个问题来了,我们需要前端验证,ajax验证也行啊,还有自定义验证呢?
于是乎继续利用MVC自带的模型验证,刚才获取的组件中有个Validation类,我们先在里面添加一个扩展方法用于非强类型
public static MvcHtmlString ValidationError(this HtmlHelper htmlHelper, string field, string error) { if (HasError(htmlHelper, ModelMetadata.FromString_Expression(field, htmlHelper.ViewData), field)) return new MvcHtmlString(error); else return null; }View中即可添加:
选择部门 @Html.ValidationMessage("Department", null, new { @class = "help-block" })
最后在脚本中处理ajax提交和回发的处理,不知道用MVC的Ajax.BeginForm能不能更方便点,不过个人觉得这东西不是很灵活,所以继续用ajaxSubmit及jquery.ajax:
//ready var $divuserform = $("#divuserform"); $divuserform.dialog({ title: '新建用户',//..... }); $("#btnCreateUser").click(function () { var nodes = zTreeObjleft.getSelectedNodes(); if (nodes.length > 0) { CreateUserForm($divuserform); } }) function CreateUserForm(form) { var $divuserform = form; $.ajax({ url: "CreateUser", success: function (html) { CreateUserFormSuccessCallback(html, $divuserform); } }); } function InitSelectDepartmentWhenCreateUser() { $("#btnSelectDepartment").departmentSelection({ onSelected: function (name, id) { $("#deptname").text(name); $("#DepartmentId").val(id); } }); } function CreateUserFormSuccessCallback(html, form) { var $divuserform = form; $divuserform.children().children().html(html); $("#divuserform").dialog("open"); var $form = $divuserform.find("form") InitSelectDepartmentWhenCreateUser(); $form.submit(function () { $form.ajaxSubmit(function (data) { if (data == "success") { $("#divuserform").dialog("close"); $("#divuserform").clearForm(); } else { CreateUserFormSuccessCallback(data, form); } }); event.preventDefault(); }); }后台Action方法中我们便可为其补充自定义验证:
if (!DepartmentId.HasValue) { ModelState.AddModelError("Department", "必须选择部门"); } if (ModelState.IsValid) { user.Id = Guid.NewGuid(); user.CreateTime = DateTime.Now; if (DepartmentId.HasValue) { var dept = new DeptUserRole(); dept.DepartmentId = DepartmentId.Value; dept.IsMain = true; dept.RoleId = RoleId.Value; user.DeptUserRoles.Add(dept); } db.Users.Add(user); await db.SaveChangesAsync(); return Content("success"); } return View(user);大致效果:
感谢你能够认真阅读完这篇文章,希望小编分享的"MVC遇上bootstrap后ajax表单验证的示例分析"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
验证
篇文章
模型
部门
处理
示例
表单
分析
插件
方法
样式
组件
麻烦
选择
东西
个人
价值
兴趣
前端
只有
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
懒人数据库
as服务器
未来教育软件官网网络技术
网络技术有哪几种
上海携程网络技术在哪里上班
数据库文本型6字符
关于软件开发知网的摘要
中兴数据南京软件开发
山东省网络安全和信息化工作
文旅局网络安全领导小组
饥荒联机版服务器换人物指令
微信服务器下载
紫云英网络技术有限公司
数据库几何运算交并差
服务器已爆满
创胜呼叫服务器
网络安全法试题doc
网络安全产品部署方法
如何获取会计信息系统数据库资料
使用MySQL数据库的企业
迅雷网络安全协议
上海濮西互联网科技有限公司
大区服务器安全锁
深圳课堂直播软件开发
网络安全责任制落实存在问题
沁县网络安全公告
形容网络技术发达
军工智能网络技术股票
数据库平面数据源
法治与网络安全漫画