【发布时间】:2021-08-04 01:47:28
【问题描述】:
我尝试了角度响应式表单验证和模板驱动表单验证,但是当我尝试编译和运行时,响应式表单验证向我显示了这样的错误,null。我的角度版本是 10.0.14
所以,我有component.html
<form action=""
[formGroup]="singupForm"
(ngSubmit)="onSubmit()">
<div class="form-group">
<label for="">Username</label>
<input
type="text"
id="userName"
class="form-control"
formControlName="userName"
>
<span
*ngIf="username.invalid"
class="help-block"
>Please enter valid username!</span>
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
下面是component.ts文件
import { Component, OnInit} from '@angular/core';
import { FormControl, FormGroup, Validators } from '@angular/forms';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
})
export class AppComponent implements OnInit{
singupForm! : FormGroup;
constructor(){}
ngOnInit(){
this.singupForm = new FormGroup({
userName : new FormControl(null, Validators.required)
});
}
get username(){
return this.singupForm.get('userName');
}
onSubmit(){
console.log(this.singupForm.value)
}
} app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { ReactiveFormsModule } from '@angular/forms';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent,
],
imports: [
BrowserModule,
ReactiveFormsModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
错误就是这样
ERROR in src/app/app.component.html:16:27 - error TS2531: Object is
possibly 'null'.
16 *ngIf="username.invalid"
~~~~~~~ src/app/app.component.ts:6:16
6 templateUrl: './app.component.html',
~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component AppComponent.
** Angular Live Development Server is listening on localhost:4200, open
your browser on http://localhost:4200/ **
【问题讨论】:
-
您能否发布更多错误信息以及错误发生的位置?
-
哪一行显示错误?
-
发布错误代码。
标签: javascript html css angular typescript