【发布时间】:2019-08-31 13:32:59
【问题描述】:
我正在尝试用 angular 创建一个简单的用户注册项目。我正在尝试验证表单中没有任何字段为空。但是我无法这样做。
这是我的 ts 代码:
export class AdduserComponent implements OnInit {
constructor(private formBuilder:FormBuilder,private userService:UsersService,private router:Router) { }
addForm: FormGroup;
selected = 'option2';
ngOnInit() {
this.addForm = this.formBuilder.group({
id: [],
userName: ['', Validators.required],
password: ['', Validators.required],
userRole:['',Validators.required],
});
}
onSubmit() {
this.userService.createUser(this.addForm.value)
.subscribe( data => {
this.router.navigate(['adduser']);
});
console.log(this.addForm.value);
}
changeClient(value) {
console.log(value);
}
}
这是我的模板:
<form [formGroup]="addForm" class="login-form" (ngSubmit)="onSubmit()">
<div class="form-group">
<mat-form-field class="example-full-width">
<input matInput type="text" formControlName="userName" placeholder="userName" name="userName" class="form-control" id="userName">
</mat-form-field>
</div>
<div class="form-group">
<mat-form-field class="example-full-width">
<input matInput type="password" formControlName="password" placeholder="Password" name="password" class="form-control" id="password">
</mat-form-field>
</div>
<mat-form-field>
<mat-select panelClass="example-panel-blue.mat-select-panel" placeholder="Roles" formControlName="userRole" id="userRole" (selectionChange)="changeClient($event.value)" [(value)]="selected">
<mat-option value="Admin">Admin</mat-option>
</mat-select>
</mat-form-field>
<div class="container" style="margin: 12px" fxLayout="row" fxLayoutAlign="center center">
<button mat-raised-button color="primary">Create</button>
</div>
</form>
我已经添加了验证器,但我仍然可以使用空值创建用户。请帮助。提前致谢
【问题讨论】:
标签: angular typescript