我正在使用angular材料创建一个登录表单,但是提交按钮不起作用,并且我在控制台中没有收到任何错误。起初,我试图通过它发布一个http请求,但它不起作用,所以我只是使用一个简单的日志来测试,它仍然不起作用。
login.html:
<mat-card>
<mat-card-content>
<form class="my-form" #loginForm=ngForm (ngSubmit)="Submit()">
<mat-form-field class="full-width">
<mat-label>Email</mat-label>
<input matInput class="form-control" [formControl]="emailControl" placeholder="Enter Your Nickname"
type="email">
<mat-error *ngIf="emailControl.hasError('email')">
Please enter a valid email address
</mat-error>
<mat-error *ngIf="emailControl.hasError('required')">
Email is <strong>required</strong>
</mat-error>
</mat-form-field>
<mat-form-field class="full-width">
<mat-label>Password</mat-label>
<input [formControl]="passwordControl" matInput name="password" type="password" class="form-control"
placeholder="Enter Your Password">
<mat-error *ngIf="passwordControl.hasError('required')">
Password is <strong>required</strong>
</mat-error>
<mat-error *ngIf="passwordControl.hasError('minLength')">
Password should be more then 7 characters
</mat-error>
</mat-form-field>
</form>
</mat-card-content>
<mat-card-actions>
<button mat-raised-button type="submit" color="primary">LOGIN</button>
</mat-card-actions>
</mat-card>login.component.ts:
import { CustomValidators } from '../../custom-validators';
import { Component, OnInit } from '@angular/core';
import { FormControl,FormGroup,Validators} from '@angular/forms';
import { HttpClient } from '@angular/common/http';
@Component({
selector: 'login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.css']
})
export class LoginComponent {
emailControl = new FormControl('', [Validators.required, Validators.email]);
passwordControl = new FormControl('', [Validators.required,
Validators.minLength(8)]);
constructor(private http :HttpClient) {
}
Submit(){
console.log('workin');
}}发布于 2019-06-17 11:11:35
在提交方法调用中错过了(),并且提交按钮在form.之外将其放入form.中它应该如下所示。
TS
(ngSubmit)="Submit()"HTML
<form class="my-form" #loginForm=ngForm (ngSubmit)="Submit()">
...
<mat-card-actions>
<button mat-raised-button type="submit" color="primary">LOGIN</button>
</mat-card-actions>
...
</form>发布于 2019-06-17 11:57:03
提交按钮不是表单的一部分
应该是
<form class="my-form" #loginForm=ngForm (ngSubmit)="Submit()">
<mat-form-field class="full-width">
<mat-label>Email</mat-label>
<input matInput class="form-control"
[formControl]="emailControl"
placeholder="Enter Your Nickname" type="email">
<mat-error *ngIf="emailControl.hasError('email')">
Please enter a valid email address
</mat-error>
<mat-error *ngIf="emailControl.hasError('required')">
Email is <strong>required</strong>
</mat-error>
</mat-form-field>
<mat-form-field class="full-width">
<mat-label>Password</mat-label>
<input [formControl]="passwordControl"
matInput name="password"
type="password"
class="form-control"
placeholder="Enter Your Password">
<mat-error *ngIf="passwordControl.hasError('required')">
Password is <strong>required</strong>
</mat-error>
<mat-error *ngIf="passwordControl.hasError('minLength')">
Password should be more then 7 characters
</mat-error>
</mat-form-field>
</mat-card-content>
<mat-card-actions>
<button mat-raised-button type="submit" color="primary">LOGIN</button>
</mat-card-actions>
</mat-card>
</form>https://stackoverflow.com/questions/56624271
复制相似问题