Angular 9 中如何使用表单验证

阅读时长 7 分钟读完

表单验证是在前端开发中非常重要的一环,它可以帮助我们保证用户输入的数据的正确性,从而防止出现程序的异常和错误。在 Angular 9 中,提供了非常方便和强大的表单验证机制,本文将会详细介绍如何使用 Angular 9 中的表单验证。

安装 Angular 9

在开始使用 Angular 9 中的表单验证前,首先需要安装 Angular 9 。

安装完成后,可以通过下面的命令创建一个新的 Angular 9 项目:

其中 my-app 是创建的项目名称。

创建表单

在创建了 Angular 9 项目之后,我们需要创建一个用于表单验证的组件。可以通过下面的命令创建一个新的组件:

然后打开 app.component.html 文件,添加如下代码:

-- -------------------- ---- -------
------
    -----
        ------ --------------------------------
        ------ ----------- ------------- --------------- -----------------------
    ------
    -----
        ------ --------------------------------
        ------ --------------- ------------- --------------- -----------------------
    ------
    ------- -----------------------------
-------

这是一个简单的表单,有两个输入框和一个提交按钮。

配置表单验证

在 Angular 9 中,可以使用 FormsModule 模块中的 ngForm 指令来为表单添加验证。在使用该指令前需要先导入 FormsModule 模块并在 @NgModule 注解中声明它。

打开 app.module.ts 文件,修改如下代码:

-- -------------------- ---- -------
------ - -------- - ---- ----------------
------ - ------------- - ---- ----------------------------
------ - ----------- - ---- -----------------

------ - ------------ - ---- ------------------
------ - ------------- - ---- ------------------------

-----------
  ------------- -------------- ---------------
  -------- --------------- -------------
  ---------- ---
  ---------- ---------------
--
------ ----- --------- --

在组件 form 中,我们可以在 <form> 标签上使用 ngForm 指令来为表单添加验证,例如:

上面的代码中,我们将表单绑定到了 myForm 变量上,以便在后续的代码中使用。

对表单进行验证

在 Angular 9 的表单验证中,可以使用 ngModel 作为指令来为表单的输入框添加验证规则。可以使用 ngModel 中的 name 属性对输入框进行标识,然后在组件中使用 ngModelngModelGroup 属性对输入框进行分组,从而实现对整个表单的验证。

例如,下面的代码实现了对用户名和密码的验证:

-- -------------------- ---- -------
----- -----------------
    -----
        ------ --------------------------------
        ------ ----------- ------------- --------------- -------- ------------- ---------------------- --------------------
        ---- --------------------- ----------------------- -- --------------- -- -------------------
            ---- ----------------------------------------- -- ---------------
            ---- ------------------------------------------ ------ -- -- ----- - ---------- -----------
        ------
    ------
    -----
        ------ --------------------------------
        ------ --------------- ------------- --------------- -------- ------------- ---------------------- --------------------
        ---- --------------------- ----------------------- -- --------------- -- -------------------
            ---- ----------------------------------------- -- ---------------
            ---- ------------------------------------------ ------ -- -- ----- - ---------- -----------
        ------
    ------
    ------- -----------------------------
-------

在上面的代码中:

  • required 属性表示输入框必填;
  • minlength 属性表示输入框长度不能少于指定值;
  • #username="ngModel"#password="ngModel" 属性表示将输入框绑定到 usernamepassword 变量上,以便在后续的代码中使用。

同时,还添加了一个 error-message 类来显示验证错误信息。

在组件中处理表单提交

表单验证通过后,就可以在组件中处理表单提交了。可以使用 <form> 标签中的 submit 事件来处理表单提交,例如:

在组件的 onSubmit() 方法中,可以通过 NgForm 类的 value 属性获取表单的所有数据,例如:

-- -------------------- ---- -------
------ - --------- - ---- ----------------
------ - ------ - ---- -----------------

------------
  --------- -----------
  ------------ ------------------------
  ---------- -------------------------
--
------ ----- ------------- -
  --------- -------
  --------- -------

  ---------- -
    ----------------- ------------ -------------------
  -
-

上面的代码中,可以通过 this.myForm.value 获取到表单的所有数据。

结论

通过上述代码的实现,可以让读者更好的了解在 Angular 9 中如何使用表单验证,从而让开发者更好的掌握 Angular 9 的表单验证知识点,同时也可以更好的实现前端开发。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/674e6ee2e884a3e30f2713c4

纠错
反馈