是否有一种方法可以保留验证的单一定义,允许立即进行客户端验证,并且仍然提供服务器端验证的优势?
我熟悉以下两种方法:
ngval(https://github.com/alisabzevari/ngval)
http://www.danielroot.info/2013/09/hooking-angularjs-validation-to-aspnet.html
第一个基于模型中陈述的规则在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,但我会转而解决这个问题.哎呀,我会考虑转换到一个完全不同的平台,这是我的第一个以角度为中心的项目.