ASP.NET Web API淘汰验证
我有一个关于使用knockout和ASP.NET Web API进行客户端验证的问题。我希望视图将是完全静态的(可能不包括root index.html/cshtml),我不想通过手工在js中编写数据注释属性规则来重复我自己 我的背景是Durandal上的一个中型(约20-40个实体,带有业务层)应用程序 我发现的不成功/不适当的方式及其解释: 1。使用Breeze.js 乍一看,Breeze.js看起来正是我所需要的。工作原理:它通过/Metadata链接共享json,然后将一个映射到另一个。一切都很好,但对我来说,共享实体看起来很奇怪(我需要忘记Nunit、复杂的服务器逻辑等等……而且将您的datacontext公开是很可怕的:既不安全,又不安全!)。用JObject参数保存方法对我来说也很奇怪 2。从web api获取数据,从Breeze或web api获取元数据(如何?),并在客户端进行转换 我找到的唯一解决方案与此类似,它是一个:。它在cshtml中呈现所有元数据(这不是很关键,但在我看来并不好),然后他将其映射为knockout.validate。是否有一个类似的即用框架,具有类似的功能,我可以通过json从api获取matadata,并提供in-knockout 3。在构建时以html呈现cshtml 复杂的构建过程ASP.NET Web API淘汰验证,asp.net,asp.net-mvc,knockout.js,asp.net-web-api,unobtrusive-validation,Asp.net,Asp.net Mvc,Knockout.js,Asp.net Web Api,Unobtrusive Validation,我有一个关于使用knockout和ASP.NET Web API进行客户端验证的问题。我希望视图将是完全静态的(可能不包括root index.html/cshtml),我不想通过手工在js中编写数据注释属性规则来重复我自己 我的背景是Durandal上的一个中型(约20-40个实体,带有业务层)应用程序 我发现的不成功/不适当的方式及其解释: 1。使用Breeze.js 乍一看,Breeze.js看起来正是我所需要的。工作原理:它通过/Metadata链接共享json,然后将一个映射到另一个。
您是否有其他针对静态HTML和Web API应用程序的解决方案?首先,我们必须就一件事达成一致- 如果您没有JavaScript方面的经验,第一次使用Breeze从服务器获取数据可能会很难设置 让我们来看看一些原因和如何克服这一挑战的例子,或者跳过非必要的阅读,讨论一下使用Breeze.js或任何客户端应用程序时的安全性-
<!--
If you think this next section is 'Too Long' : 'Don't Read'
and are just interested in security, skip down until
you see 'Why is Breeze.js secure?'
-->
<section role="TL:DR">
breeze.js上的文档一直在更新和改进,但作为一个社区,我们可以改进以了解更多关于如何利用breeze.js的信息。以下是一些在客户端应用程序中设置breeze.js的提示和一些基本场景的方法-
<!--
If you think this next section is 'Too Long' : 'Don't Read'
and are just interested in security, skip down until
you see 'Why is Breeze.js secure?'
-->
<section role="TL:DR">
基本情景
永远不要相信基于浏览器的应用程序会为您提供非恶意内容,即使是99.99%的时间-0.01%可能是压垮骆驼背的稻草。Re:Breeze-我不太明白为什么公开datacontext既不安全又不安全-如果您有一个Web API操作可以在没有安全的情况下进行,那么这不是一个容易的问题——这是您拥有不安全API的问题。使用像Breeze这样的库的原因是将客户端代码与服务器端代码分离。我不知道有什么理由仅仅为了使用Breeze.js.Thx PW Kad而删除服务器端逻辑,可能只是我不理解Breeze的原因。我只是在他们的网站上看到了hello world的例子,john papa pluralsight hello world training。如果我没有弄错的话,breeze是专门为非复杂的helloworld应用开发的,没有真正的