我试图在Angular 5上进行自定义验证,但我面临以下错误
Expected validator to return Promise or Observable
Run Code Online (Sandbox Code Playgroud)
我只想在表单中返回错误,如果值与所需的值不匹配,那么我的代码是:
这是我的表单所在的组件
constructor(fb: FormBuilder, private cadastroService:CadastroService) {
this.signUp = fb.group({
"name": ["", Validators.compose([Validators.required, Validators.minLength(2)])],
"email": ["", Validators.compose([Validators.required, Validators.email])],
"phone": ["", Validators.compose([Validators.required, Validators.minLength(5)])],
"cpf": ["", Validators.required, ValidateCpf]
})
}
Run Code Online (Sandbox Code Playgroud)
此代码在我想要实现的验证的文件中:
import { AbstractControl } from '@angular/forms';
export function ValidateCpf(control: AbstractControl){
if (control.value == 13445) {
return {errorCpf: true}
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
有人能帮我吗?这种类型的验证只适用于observables,还是我能做到而不是一个承诺或可观察的?谢谢
javascript angular-validation angular angular-forms angular5
我想在某条路线上添加课程.代码在我的AppComponent中,我使用的是ngClass.
@Component({
selector: 'my-app',
template: `<a [ngClass]="getRoute(router)">
// Some html code....
})
Run Code Online (Sandbox Code Playgroud)
然后我在相同的app.component.ts上有这个功能
export class AppComponent {
getRoute(){
if (this.router.url === '/atendimento'){
return "hide-bar";
}
}
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误如下:
'AppComponent'类型中不存在属性'router'
是的,我在标题上导入Routes,RouterModule和Router.有人能帮我吗?
提前致谢
我在将数据传递到 routerLink 时遇到一些问题。这是我想要做的:(这个输入在 ngFor 内部,当 id 达到 4 时我需要更改路由)
<input type="button" class="btn-cards" [ngClass]="getStyle(negociacao)" [routerLink]="['/{{negociacao.rota}}', negociacao.id]" value="{{negociacao.status}}">
Run Code Online (Sandbox Code Playgroud)
我收到的错误如下:
得到插值 ({{}}),其中第 3 列应有表达式
提前致谢 :)