asp.net-mvc – 使用带有angularJS的jQuery验证的razor视图
|
我在我的MVC应用程序中使用AngularJS并尝试使用两者中最好的.我非常希望你能在MVC中在viewmodels中设置验证逻辑,并在剃须刀视图中轻松地使用jQuery验证生成客户端验证.我使用AngularJS来获取路由等的SPA行为,但是当我创建一个剃刀视图时,我用它来注入一个页面:
然后jQuery验证停止工作,即使脚本文件是注入视图的页面上的引用.请参阅下面的剃刀视图: @model BandViewModel
<div data-ng-controller="App.BandCreateCtrl">
<form name="startBandForm">
@Html.ValidationSummary(true)
<br />
@Html.LabelFor(m => m.Name)
@Html.TextBoxFor(m => m.Name,new { data_ng_model = "band.Name" })
@Html.ValidationMessageFor(m => m.Name)
<br/>
<input data-ng-disabled="startBandForm.$invalid" type="submit" data-ng-click="createBand(band)" value="Create"/>
</form>
</div>
解决方法首先,使用Razor渲染模板的IMO充其量只是充满了危险.通常,您希望为页面和指令模板使用静态HTML,然后检索并将数据作为AJAX发布到API.实际上,ASP.NET Web API非常擅长这一点.如果底层模型有验证,那么错误的Web API调用将抛出异常,您可以在$http或$resource处理程序中捕获该异常并向用户显示.将标准HTTP表单帖子与AngularJS混合将很难.为了达到你想要的效果,我认为有人(不是我)必须编写相当于jQuery Unobtrusive Validation library的AngularJS,它本身使用的是jQuery Validate plugin.这不是一件容易的事.我个人并不认为很快就会出现插件角度验证,特别是因为它更多地与标记有关,而与JS配置对象关系不大. 可能您可以在视图使用the $viewContentLoaded event加载完成后重新初始化验证.但请不要. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – WCF与WebAPI和本机移动设备
- asp.net-mvc – 发现MVC项目中是否使用views / partials
- 当将单字节添加到响应中时,ASP.NET WebAPI输出的速度会降低
- asp.net-mvc – 可以使用存储库将外键映射到对象吗?
- asp.net-mvc – 域模型中的ASP.NET MVC业务逻辑与服务层
- asp.net – Combres的路线(combres.axd)不起作用
- asp.net – Elmah错误日志记录,我可以只记录一条消息吗?
- asp.net – 有一个ClientScriptManager.RegisterClientScri
- asp.net-mvc-4 – 当模型中存在一对多关系时,MVC“创建视图
- asp.net-web-api – 为什么我的超级简单的ASP.NET Web API(
