小编Mar*_*cky的帖子

如何使用Joi验证对象数组?

我得到一个后端数组,每个对象包含一个服务名称.结构如下所示

[{"serviceName":"service1"},
{"serviceName":"service2"},..]
Run Code Online (Sandbox Code Playgroud)

当我在后端获取数组时,我想验证数组中的每个对象都有serviceName属性.

我编写了以下代码,但即使我传递有效数组,我也会收到验证错误.

var Joi = require('joi');
var service = Joi.object().keys({
  serviceName: Joi.string().required()
});

var services = Joi.array().ordered(service);

var test = Joi.validate([{serviceName:'service1'},{serviceName:'service2'}],services)
Run Code Online (Sandbox Code Playgroud)

对于上面的代码,我总是收到带有消息的验证错误

"value" at position 1 fails because array must contain at most 1 items
Run Code Online (Sandbox Code Playgroud)

validation node.js express joi

29
推荐指数
3
解决办法
3万
查看次数

11
推荐指数
2
解决办法
5327
查看次数

如何以编程方式使Bitbucket Pipeline的缓存无效?

我的Bibucket管道中有一个node_modules缓存,并添加了新模块(例如yarn add react-modal)-如何使Bitbucket管道检测到新的yarn.lock并使它的缓存无效?

caching bitbucket continuous-deployment bitbucket-pipelines

8
推荐指数
1
解决办法
764
查看次数

如何在 TypeScript 中通过 Fetch API 使用 URL 对象?

Input基于lib.dom.d.ts最新 WebStorm (181.4445.29) 获取的第一个位置参数类型是Request | string。鉴于https://github.com/github/fetch/issues/256关于将搜索查询参数传递给fetch调用(使用new URL(...))的讨论,应该如何在 TypeScript 中执行此操作?

如果没有这个断言:

const response = await fetch(<string>url, fetchOptions);
Run Code Online (Sandbox Code Playgroud)

我无法将 URL 对象传递给 fetch 方法...

或者也许是 WebStorm 的问题?

casting fetch webstorm typescript

8
推荐指数
1
解决办法
8590
查看次数

如何将 React.cloneElement 与 TypeScript 结合使用?

我有呈现选项卡内容的组件。它只是检测孩子是否是唯一的孩子,如果不是,则将它们包装在 div 中。它还可以(可选)通过克隆子项来应用具有样式的道具。我几个月前编写了这个组件,然后更新了一些库和 TypeScript。今天我查看它的代码,发现错误。

组件

import * as React from 'react';

export interface PageTabContentShape {
  title: string;
  pageTabName?: string;
  withContainer?: boolean;
  containerStyle?: React.CSSProperties;
  labelTestid?: string;
  children: React.ReactElement;
}

export const PageTabContent: React.ComponentType<PageTabContentShape> = (props) => {
  let child = React.Children.only(props.children);
  if (props.withContainer) {
    return (
      <div style={props.containerStyle}>
        {child}
      </div>
    );
  }
  // pass styles to only child when there is no wrapper
  if (props.containerStyle && React.isValidElement<{ containerStyle }>(child)) {
    child = React.cloneElement(child, { containerStyle: props.containerStyle });
  }
  if (null != …
Run Code Online (Sandbox Code Playgroud)

typescript reactjs

8
推荐指数
0
解决办法
574
查看次数

如何在我的对象范围之外调用'this'?

我为网站开发了某种Jcrop初始化,我设法创建了自己的命名空间.我的问题是关于这个关键字.每次我都得来访问我的基本对象"APS"在任何回调函数,我必须换这个变量中(我选择了字).有没有更好的方法呢?例如,我可以使用callapply方法吗?这只是一个命名空间,所以我可以使用简单的aps.methodName但是为了这个例子,请不要介意.这是我的源代码:

var aps;

$(function(){
    aps = function(){

        //  private
        //  variables

        var bgColor = '#f5f5f5';
        var threshold = 370;
        var threshold_width = 800;

        return {
            tmpl                :       $('#jcrop-template').html(),
            upl_cont            :       {},
            form                :       {},
            logo_img            :       new Image(),
            jcrop_api           :       null,
            scaled_logo_url         :       '',
            image_filename          :       '',
            original_image_filename     :       '',
            mime                :       '',
            trueSize            :       '',

            jcrop_init          :       function (oiFrameRes){
                $('#logo_upload_form').find('img').hide();
                this.scaled_logo_url = oiFrameRes.image_url;
                this.logo_url …
Run Code Online (Sandbox Code Playgroud)

javascript jquery frontend this

6
推荐指数
1
解决办法
270
查看次数

如何在样式组件配置中禁用供应商前缀?

styled-components在我的 React 项目中使用库。
我想在开发期间禁用供应商前缀的生成。
在这么多类似的属性中找到一个指定的 CSS 属性来切换它并在浏览器的开发工具中测试是非常麻烦的。
看看这张图片(借用一个关于相同的问题)

在此处输入图片说明

我在互联网上找到的任何东西都是使用disableVendorPrefixesStyleSheetManager 上的道具,这对我来说不是解决方案,因为:

  1. 我不使用 StyleSheetManager
  2. 我想把它作为配置放在我的开发 Webpack 配置文件中

我发现但不能满足我的需求的东西:

  1. https://github.com/styled-components/styled-components/issues/719
  2. https://github.com/styled-components/styled-components/issues/285

configuration vendor-prefix webpack styled-components

6
推荐指数
1
解决办法
890
查看次数

如何重新加载javascript文件

我有一个关于重新加载JavaScript文件的问题.我开发网页前端并在JS中进行大量编码.每当我想检查应用程序的流程是否正确(或进行一些调试)时,我必须F5按键来重新加载整个页面和它的脚本,我必须等待.等待时间取决于页面的重量,有时我会不耐烦.因此我想知道是否有任何方法只重新加载更改的脚本文件*.js?或者可能有一些Chrome重新加载所选脚本的插件?这可能是一种非常方便的发展方式.谢谢你的回复.

这个使用jQuery,例如:

var scs=$('script[type*=javascript]');
var scsl = scs.length;
var scsi = 0;
var o = [];
var oi = 0;
var ol = 0;
var s = '';
var fws = 0;
var sws = 0;
var v = {};

function i1(){
fws = window.setInterval(function(){
        v = $(scs[scsi]);
        
        s = v.attr('src');
        if(typeof s!='undefined' && s.indexOf('http')==-1 && s.indexOf('index')==-1){
                console.log([scsl,scsi,s]);
                o.push({src:s});
                v.remove();
        }

        if(scsi==scsl){
                console.log(o);
                window.clearInterval(fws);
                ol = o.length;
i2();
        }
        else{
                scsi++;
        }
},800);
}

function i2(){ …
Run Code Online (Sandbox Code Playgroud)

javascript jquery frontend

5
推荐指数
1
解决办法
4677
查看次数

为什么“git index”有这么多名字?

在阅读如何使用 Git 时,我发现git index.

他们是:

  • directory cache
  • current directory cache
  • staging files
  • staging area

为什么有这么多选项可以准确地命名一件事?

我应该如何命名它以免混淆我不知道背景的未来对话者?

git git-index git-stage

5
推荐指数
1
解决办法
184
查看次数

在netbeans php中跳转到方法签名的方法是什么?

问题是,当我在Netbeans中编写PHP代码时,我想要有点舒服.
当编辑光标位于long metod源的中间时,
我想按一个键快捷键跳转到该方法的开头.

例如:

public function doStuff($arg1,$arg2) <--- I want to jump here...
{
$a = $b;
$b = $c;
$c = $d;
$d = $e; <--- cursor is here
.....
}
Run Code Online (Sandbox Code Playgroud)

php netbeans editor

3
推荐指数
1
解决办法
1500
查看次数