我有一个我不可能知道的关键名称的对象 - 它们是由用户创建的.但是我确实知道它们(键)将要存储的值,并且它们(值)将成为ISO字符串.如何验证这些值?并且,可选地,如何验证未知对象的键,即:
key: Joi.string().min(2).max(25)
Run Code Online (Sandbox Code Playgroud)
我已经尝试过的是基于Joi API文档:
使用Joi.object([schema])而不是普通JS对象的另一个好处是>你可以在对象上设置任何选项,比如允许未知键,例如:
const schema = Joi.object({ arg: Joi.string().valid('firstname', 'lastname', 'title', 'company', 'jobtitle'), value: Joi.string(), }).pattern(/firstname|lastname/, Joi.string().min(2));
我从这个例子中理解的是,arg
key表示Joi.object()
's' key
,value
代表它value
.
我的例子:
campaign: Joi.object({
arg: Joi.string().valid( 'unknown' ),
value: Joi.date().iso(),
}).pattern( /unknown/, Joi.string().min(2).max(25) )
Run Code Online (Sandbox Code Playgroud)
我的意见;
campaign: { g_ad_adwords: "2017-01-19T11:33:26.205Z" }
Run Code Online (Sandbox Code Playgroud)
我的错误:
"广告系列"失败,因为["g_ad_adwords"不允许]
我正在尝试上传文件并同时发送帖子参数,如下所示:
$response = $client->post('http://example.com/api', [
'form_params' => [
'name' => 'Example name',
],
'multipart' => [
[
'name' => 'image',
'contents' => fopen('/path/to/image', 'r')
]
]
]);
Run Code Online (Sandbox Code Playgroud)
但是我的form_params字段被忽略,我的帖子正文中只有多部分字段.我可以用guzzle 6.0发送两者吗?
我的控制器有一个我想要在页面中包含的组件列表。这些其他组件是独立创建并正常工作的。
在我的 HTML 模板中:
<ng-container *ngFor="let component of components">
<div {{component.name}}></div>
</ng-container>
Run Code Online (Sandbox Code Playgroud)
代码应该输出<div>
这样的:
<div my-component></div>
Run Code Online (Sandbox Code Playgroud)
但事实并非如此,我收到此错误:
DOMException: Failed to execute 'setAttribute' on 'Element'
Run Code Online (Sandbox Code Playgroud)
如果我只是在 div 标签内打印值,它会很好地工作:
<div>{{component.name}}</div>
Run Code Online (Sandbox Code Playgroud)
甚至有可能实现我想要的吗?
我收到以下错误"无法绑定到'ngSwitchWhen',因为它不是'模板'的已知属性." 我已经阅读了建议添加的不同主题
从'@ angular/common'导入{CommonModule}
并将"CommonModule"添加到@NgModel的导入部分,我做了,但这并没有解决问题.我无法弄清楚我做错了什么,有什么帮助解决这个问题?
这是我的"app.component.ts"代码
import { Component } from '@angular/core'
@Component({
selector: 'app-root',
template: `
<ul class="nav nav-pills">
<li [class.active]="viewMode == 'map'"><a (click)="viewMode = 'map'">Map View</a></li>
<li [class.active]="viewMode == 'list'"><a (click)="viewMode = 'list'">List View</a></li>
</ul>
<div [ngSwitch]="viewMode">
<template [ngSwitchWhen]="'map'" ngSwitchDefault>Map View Content></template>
<template [ngSwitchWhen]="'list'">List View Content</template>
</div>
`
})
export class AppComponent {
viewMode = 'map';
}
Run Code Online (Sandbox Code Playgroud)
这是"app.module.ts"的代码
import { BrowserModule } from '@angular/platform-browser';
import { NgModule, ApplicationRef } from '@angular/core';
import { FormsModule } from '@angular/forms';
import …
Run Code Online (Sandbox Code Playgroud) angular ×2
curl ×1
guzzle ×1
hapijs ×1
joi ×1
ng-modules ×1
php ×1
typescript ×1
validation ×1