在Angular 4中提交表单之前输入字段验证

费尔南多·尼科拉尔德

我的目的是确保用户输入有效数据(无数字),并且在提交表单之前输入字段不应为空。救命!!!

ts文件的代码如下:

import { Routes, RouterModule, Router, ActivatedRoute } from "@angular/router";
import { Component, NgModule, Input, Output, EventEmitter } from '@angular/core';
import { Environments } from './Environment-class';
import { FormBuilder, FormsModule, ReactiveFormsModule, FormGroup, FormControl, Validators } from '@angular/forms';

@Component({
selector: 'addenvironment-form',
templateUrl: './add-environment-form.component.html'
  })
 export class AddEnvironmentComponent {

@Output() EnvironementCreated = new EventEmitter<Environments>();
createNewEnv(EnvironmentNames: string) {
    this.EnvironementCreated.emit(new Environments(EnvironmentNames));
}

}

和HTML文件

<br />
<div class="card">
<h4 class="card-header">Add a New Environment</h4>
<div class="card-body mx-auto  ">
    <form class="form-inline ">
        <div class="form-group ">

            <h5 class="form-control-static">Enter New Name: </h5>
        </div>

        <div class="form-group mx-lg-3 text-center">
            <label for="inputPassword2" class="sr-only">Password</label>
            <input type="text" class="form-control " id="inputPassword4" placeholder=" Name " #EnvironmentNames>
        </div>

        <button type="submit" class="btn btn-primary" (click)="createNewEnv(EnvironmentNames.value)">Submit</button>
    </form>
</div>

mxr7350

您可以required在输入字段中添加标签,因此必须填写。此外,您还可以添加minlength要使它成为字母,只能使用pattern您可以使用允许用户输入的字符进行游戏。

如果您要使用此输入作为密码,建议您更改typetype="password"

disable如果表单无效,您也可以按钮。

有了上面提到的所有这些,您的表单应该看起来像下面这样:

<form [formGroup]="myForm" class="form-inline ">
    <div class="form-group ">
        <h5 class="form-control-static">Enter New Name: </h5>
    </div>
    <div class="form-group mx-lg-3 text-center">
        <label for="inputPassword2" class="sr-only">Password</label>
        <input type="password" class="form-control " id="inputPassword4" 
         placeholder=" Name " #EnvironmentNames pattern="^[a-zA-Z]+$" 
         minlength="8" required>
    </div>

    <button type="submit" class="btn btn-primary" 
     (click)="createNewEnv(EnvironmentNames.value)"
     [disabled]="!myForm.valid">Submit
    </button>
</form>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Angular JS:提交之前验证表单字段

在Angular 4中提交表单后清除输入框

在Angular 2中提交表单后如何重置验证

在 Angular4 中提交隐藏表单

在Angular 4反应性表单中提交时显示验证消息

在Angular中提交表单之前,如何不更新模型?

响应式表单 Angular 4 中的输入字段未更新

如何使用动态输入字段防止表单提交(Angular 中的反应式表单)

Angular 4中的表单验证

带有输入字段和复选框的 Angular 4 表单验证

如何在Angular 4材质的Stepper中提交表单?

比较 2 个输入字段的值以通过模板验证 Angular 7 中的表单

Angular2- 子组件中输入字段的模板驱动表单验证

Angular.js:对指令生成的输入字段进行表单验证

表单验证 Angular 4

在 Angular 中提交表单操作后如何触发验证并获取验证结果?

提交后如何在Angular中异步验证表单?

如何在提交ANGULAR 2中重置表单验证

在多个字段上进行Angular 4表单验证

触发对Angular Form提交中的所有字段的验证

在Angular4中对输入字段实施多重验证时出错

在所有验证通过之前,如何防止表单提交[Angular 7]

如何验证Angular中嵌套表单组字段的错误消息

Angular指令中的表单字段验证无法正常工作

Angular 6中动态添加字段的表单验证

只读/禁用输入未在Angular中提交

Angular 2中的表单输入验证(模板驱动)

在Angular Dart中验证表单输入值的长度

在表单字段-Angular-ReactiveForms 中至少更改一个值之前,使用验证更新表单不起作用