Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
breezejs:删除验证规则_Breeze - Fatal编程技术网

breezejs:删除验证规则

breezejs:删除验证规则,breeze,Breeze,我想从元数据存储中删除验证规则。文件中提到: '对于大多数应用程序,必须等待客户端检索到 来自服务器的元数据。您可以显式地或直接地获取该元数据 等待Breeze在第一次查询中隐式获取它。” 我想从注册了registerEntityTypeCtor的构造函数中删除验证规则,因为我相信这是一个很好的地方。但此函数对每个实体都调用,用于删除验证规则的代码只应执行一次,无需在每次创建实体时调用它。因此,如何仅在第一次获取元数据时才能做到这一点 我认为最好的方法是自己启动元数据获取。i、 e.调用Enti

我想从元数据存储中删除验证规则。文件中提到:

'对于大多数应用程序,必须等待客户端检索到 来自服务器的元数据。您可以显式地或直接地获取该元数据 等待Breeze在第一次查询中隐式获取它。”


我想从注册了registerEntityTypeCtor的构造函数中删除验证规则,因为我相信这是一个很好的地方。但此函数对每个实体都调用,用于删除验证规则的代码只应执行一次,无需在每次创建实体时调用它。因此,如何仅在第一次获取元数据时才能做到这一点

我认为最好的方法是自己启动元数据获取。i、 e.调用EntityManager.fetchMetadata并在调用的“then”部分执行删除

myEntityManager.fetchMetadata().then( function() {
   // perform your removals here.
}

Breeze将在第一次查询期间自动执行此调用(如果尚未执行)

我已经在一个配置breeze datamanager的服务构造函数中尝试过这样做。问题是,当服务被注入到我的控制器中时,AngularJS依赖解析程序会隐式调用此代码(我知道我们在这里有点离题,因为我使用AngularJS)。当承诺返回时,已经太晚了,因为调用代码没有等待承诺解析。你知道我怎样才能像我在帖子中解释的那样去做吗?我不知道我是否理解,即使Angular很早就解决了依赖关系,除非/直到第一个查询被执行,否则你不会有问题。这是在你的控制之下,不是吗?我可能误解了你的问题。。。我不确定我是否了解你的应用程序的依赖关系和执行顺序。但是,如果确实要删除ctor中的验证,可以在entityType上设置自己的“validationsRemoved”标志,以指示是否已“清除”验证,并在每次调用ctor时检查此标志。第一个调用将删除验证,然后设置标志。是的,问题实际上与我自己的代码有关。没关系,我会弄明白的。然而,这只是一个想法,但如果有办法发现元数据第一次从服务器返回,那不是很好吗?然后可以触发事件处理程序来处理添加/删除验证规则之类的内容。