sha*_*non 7 validation asp.net-mvc angularjs
是否有一种方法可以保留验证的单一定义,允许立即进行客户端验证,并且仍然提供服务器端验证的优势?
我熟悉以下两种方法:
第一个基于模型中陈述的规则在Razor输出中呈现ng-validation语法.当Razor的观点经常不能直观地与一个组织良好的Angular应用程序配对时,这似乎让我对构建Razor视图过于紧密.我可以使用这种方法,但似乎更多的是想要复制"不引人注目的jQuery/MVC验证"的人,而不是建立一个非常适合Angular的东西.
第二种方法只是将服务器端验证返回给Angular进行渲染.它也没有彻底完成它.如果需要,我可以在没有客户端验证的情况下运行,因为单页应用程序仍然不会屏幕闪烁...但它并不理想.
例如,可能有一个工具集可以直接在WebAPI上直接反映验证规则,并在Angular应用程序中使用它们.还是我还没找到的另一种方法?
在https://www.youtube.com/watch?v=lHbWRFpbma4#t=1336,演示者似乎暗示这个问题已经为Angular得到了很好的解决,并且引用了specification
(DDD使用规范模式进行验证).如果你知道有任何工具可以解决我的问题,我很乐意听到.
ps看起来这几乎肯定是一个经常被问到的问题.对不起,我发布之前无法在这里找到答案
pps我目前正计划使用Entity Framework,但我会转而解决这个问题.哎呀,我会考虑转换到一个完全不同的平台,这是我的第一个以角度为中心的项目.
我推荐的方法基于 @Esteban Felix 评论,我在 Java/Bean 验证和 JSON 模式生成器中使用了类似的策略。
使用使用 DataAnnotations 验证模型数据来注释您的域模型
使用 JSON.net 生成架构其他有用的链接
创建一个AutoValidate
指令,继续使用AngularJS
内置指令来装饰字段,以进行表单验证,ngPattern
例如min/max
. 就我而言,我创建了从 Java 世界到 AngularJS 指令的映射,并且在我需要的任何地方我们创建了自定义指令。
归档时间: |
|
查看次数: |
967 次 |
最近记录: |