我正在尝试实现自定义验证器来检查密码和密码确认是否相等.问题是验证器正在获取未定义的密码和确认的密码参数.我该如何做这项工作.该函数有效,如果我将条件更改为===而不是!==当字段相同时,它会正确抛出错误.有谁知道这里的错误是什么?
signup.component.html
<div class="col-md-7 col-md-offset-1 col-sm-7">
<div class="block">
<div class="well">
<form (onSubmit)="onSubmit()" [formGroup]="signUpForm">
<div class="form-group">
<label for="username" class="control-label">Nombre de usuario:</label>
<input type="text" class="form-control" formControlName="username" title="Please enter your username" placeholder="username">
<p class="help-block" *ngIf="signUpForm.get('username').hasError('required') && signUpForm.get('username').touched">El nombre de usuario es obligatorio</p>
<p class="help-block" *ngIf="signUpForm.get('username').hasError('minlength') && signUpForm.get('username').touched">El nombre de usuario debe tener al menos 6 caracteres</p>
<p class="help-block" *ngIf="signUpForm.get('username').hasError('maxlength') && signUpForm.get('username').touched">El nombre de usuario debe tener menos de 15 caracteres</p>
</div>
<div class="form-group">
<label for="email" class="control-label">E-mail:</label>
<input class="form-control" formControlName="email" title="Please enter your email" …Run Code Online (Sandbox Code Playgroud) javascript angular-validation angular angular-reactive-forms
当我搜索这个时,我看到很多关于使用ngFor的答案,但我理解ngFor.我问的angular.forEach()是我的Angular 1控制器中使用的构造函数.这些标记为TS中的错误,不进行编译.
例如,我有一个嵌套循环:
_this.selectChildren = function (data, $event) {
var parentChecked = data.checked;
angular.forEach(_this.hierarchicalData, function (value, key) {
angular.forEach(value.children, function (value, key) {
value.checked = parentChecked;
});
});
};
Run Code Online (Sandbox Code Playgroud)
这个构造在Angular 4的Typescript中是什么样的?
我试图使用配置传递一些属性值.但对话框无法全屏显示.
openTwigTemplate(): void {
let config = new MdDialogConfig();
config = {
position: {
top: '10px',
right: '10px'
},
height: '98%',
width: '100vw',
};
const dailog = this.dialog.open(TwigDialogComponent, config);
}
Run Code Online (Sandbox Code Playgroud)
如何根据分辨率打开对话框全屏?
我正在使用模型驱动模板。如果未选中复选框,我想禁用输入。但它不适用于 formControlName。我尝试了三种方式。给这里
1.disabled="!filterForm.value.customer_limit"
2.[disabled]="!filterForm.value.customer_limit"
3.[readonly]="!filterForm.value.customer_limit"
Run Code Online (Sandbox Code Playgroud)
这是我的 HTML 代码:
<md-checkbox [checked]="filterForm.value.customer_limit" formControlName="customer_limit">
<md-input-container class="full-width">
<input mdInput
formControlName="customer_limit_input"
[disabled]="!filterForm.value.customer_limit"
placeholder="Limit to customers">
</md-input-container>
</md-checkbox>
Run Code Online (Sandbox Code Playgroud)
有任何想法请帮助我。谢谢
我已将此代码添加到我的app.module.ts中
providers: [ AppConfigService,
{
provide: APP_INITIALIZER,
useFactory: (config: AppConfigService) => () => config.getAppConfig(),
deps: [AppConfigService],
multi: true
},
]
Run Code Online (Sandbox Code Playgroud)
得到这个错误
问题:我已经使用ngx-permission pkg获得许可.我设置了路由权限方法.但是当我刷新页面时,主页上的时间重定向却停留在当前页面上.所以我试图在应用程序启动方法之前加载权限来解决此问题但是出现了此错误.
config.getAppConfig() // call when application start up
Run Code Online (Sandbox Code Playgroud)
有任何想法请帮忙.其他解决方案也欢迎.
如何在html中打印JSON对象?我试过这个解决方案, 但没有工作.请帮助我实现这一目标.我尝试过使用json烟斗:
<div class="box box-default">
<pre>{{placeDetail |json}}</pre>
</div>
Run Code Online (Sandbox Code Playgroud) 这是我的 gatsby-node.js 代码
exports.onCreatePage = async ({ page, actions }) => {
const { createPage } = actions;
// Only update the `/blogs` page.
if (page.path.match(/^\/blog/)) {
// page.matchPath is a special key that's used for matching pages
// with corresponding routes only on the client.
page.matchPath = "/blog/*";
// Update the page.
createPage(page)
}
}
Run Code Online (Sandbox Code Playgroud)
这是我在博客页面上包含的路线。
return (
<Layout>
<Router basepath="/blog">
<BlogPage path="/" blogs={blogs} tags={tags} categories={categories}/>
<BlogDetail path="/:slug" blogs={blogs} tags={tags.data}/>
<Category path="/category/:category" blogs={blogs} tags={tags.data} categories={categories.data}/>
<Category path="/tags/:tag" blogs={blogs} tags={tags.data} …Run Code Online (Sandbox Code Playgroud) 我使用angular 2 formbuilder来创建一个表单,我想根据无线电盒输入的变化有条件地验证输入字段.当我点击百分比单选框时,应该验证百分比输入.当我点击金额单选框时,它应该验证金额输入字段.
(我正在使用材料输入组件)
<md-radio-group formControlName="splitType" (click)="splitTypeClicked()">
<md-radio-button value="amount">Amount</md-radio-button>
<md-radio-button value="percentage">Percentage</md-radio-button>
</md-radio-group>
<input mdInput placeholder="Amount" formControlName="amount" >
<input mdInput placeholder="Percentage" formControlName="percentage" >
Run Code Online (Sandbox Code Playgroud)
constructor(private fb: FormBuilder){}
ngOnInit() {
this.splitChargeForm = this.fb.group({
splitType: ['', Validators.required],
amount: [''], //validate when splitType = amount
percentage: [''] //validate when splitType = percentage
});
Run Code Online (Sandbox Code Playgroud) 如果选中复选框,我想要设置输入.验证工作正常,但当我取消选中复选框时,我删除了所需的验证.但表单无效,保存按钮未启用.
在这里我的formbuilder.
this.filterForm = this.formBuilder.group(
{
has_not_visited_in_days_group: this.formBuilder.group({
has_not_visited_in_days: [false],
has_not_visited_in_days_input: [''],
}, {validator: this.requiredIfHasNotVisitedChecked}),
});
Run Code Online (Sandbox Code Playgroud)
这里有自定义验证器功能
requiredIfHasNotVisitedChecked(control: AbstractControl): void {
const input = control.get('has_not_visited_in_days_input').value;
const inputCheckbox = control.get('has_not_visited_in_days').value;
control.get('has_not_visited_in_days_input').setValidators([]);
if (inputCheckbox) {
if (input === '' || input === null) {
control.get('has_not_visited_in_days_input').setValidators([Validators.required]);
}else {
control.get('has_not_visited_in_days_input').setValidators([]);
}
}else{
control.get('has_not_visited_in_days_input').setValidators([]);
}
}
Run Code Online (Sandbox Code Playgroud)
我也试过了
control.get('has_not_visited_in_days_input').setValidators(null);
Run Code Online (Sandbox Code Playgroud)
提前致谢.有任何想法请帮助我.
angular ×8
javascript ×2
foreach ×1
gatsby ×1
html ×1
mddialog ×1
reactjs ×1
routes ×1
typescript ×1
validation ×1