【问题标题】:Validate form on button click in angular在按钮单击时验证表单角度
【发布时间】:2018-08-22 15:19:19
【问题描述】:

因为我是 Angular 4.0 的新手,我被困在验证中 我有一个包含两个字段的表单 这是表格

<form action="my-account.html" method="post" class="form-horizontal">
            <div class="form-group">
                <label for="exampleInputEmail1" class="col-sm-3">User name</label>
                <div class="col-sm-9">
                <input type="email" class="form-control" id="exampleInputEmail1"  placeholder="Username" required>

                </div>
            </div>
            <div class="form-group">
                <label for="exampleInputPassword1" class="col-sm-3">Password</label>
                <div class="col-sm-9">
                    <input type="password" class="form-control" id="exampleInputPassword1"  placeholder="Password" required>

                </div>
            </div>

            <div class="form-group">
                <div class="col-sm-offset-3 col-sm-9 ">
                    <button type="submit" class="btn btn-primary btn-sm"  [routerLink]="['/dashboard']">Submit</button>
                    <button type="submit" class="btn btn-primary btn-sm">I Forgot My Password</button>
                </div>
            </div>
        </form>

我想对提交按钮进行验证

**<button type="submit" class="btn btn-primary btn-sm"  [routerLink]="['/dashboard']">Submit</button>**

以最简单的方式,我该怎么做呢?

【问题讨论】:

标签: angular forms validation typescript angular4-forms


【解决方案1】:

使用此链接并通过解释验证的整个场景

https://www.toptal.com/angular-js/angular-4-forms-validation

<form (ngSubmit)="onSubmit(loginForm)" [formGroup]="loginForm" novalidate class="form-horizontal">
  <div class="form-group">
      <label for="exampleInputEmail1" class="col-sm-3">User name</label>
      <div class="col-sm-9">
      <input type="email" formControlName="username" class="form-control" id="exampleInputEmail1"  placeholder="Username" required>
     <!-- put your validations here -->
      </div>
  </div>
  <div class="form-group">
      <label for="exampleInputPassword1" class="col-sm-3">Password</label>
      <div class="col-sm-9">
          <input type="password" formControlName="password" class="form-control" id="exampleInputPassword1"  placeholder="Password" required>
        <!-- put your validations here -->
      </div>
  </div>

  <div class="form-group">
      <div class="col-sm-offset-3 col-sm-9 ">
          <button type="submit" class="btn btn-primary btn-sm"  [disabled]="loginForm.$invalid">Submit</button>
          <button type="submit" class="btn btn-primary btn-sm">I Forgot My Password</button>
      </div>
  </div>
</form>

//在你的.ts文件中

 constructor(private fb: FormBuilder){}

ngOnInit() {
    this.profile = this.fb.group({
      userName: [null, [Validators.required]],
      password: [null, [Validators.required]]
    })
};

【讨论】:

  • 登录表单:FormGroup;在开头并将 this.profile 替换为 this.loginForm
  • 当我尝试在表单控件中应用 [formgroup] 标签时,它会显示模板解析错误等错误
  • 你必须在 app.module.ts 中包含 formsModule
  • 也可以通过上面提到的链接一步一步地携带所有信息。
  • 即使你卡在某个地方也请发帖
猜你喜欢
  • 2018-07-13
  • 1970-01-01
  • 2016-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-09
  • 1970-01-01
相关资源
最近更新 更多