ng4 Form表单相关

Posted Artmis

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ng4 Form表单相关相关的知识,希望对你有一定的参考价值。

ng4中,有两种方式去声明一个表单。

1.Template-Driven Forms - 模板驱动式表单

 

<form #f=‘ngForm‘ novalidate (ngSumbit)=‘onSubmit(f)‘>
  <input type=‘text‘
             #username=‘ngModel‘
             required>
  <div *ngIf=‘username.error?.required && username.touched‘ class=‘error‘>
    Name is required. 
 </div> 
</form> 

注意:

1.

把ngForm的值赋给#f变量,通过该变量则可以方便的获取表单的值

<form #f=‘ngForm‘ novalidate (ngSumbit)=‘onSubmit(f)‘>
  <input type=‘text‘
             name=‘username‘
             [(ngModel)]=‘user.username‘
             required>
  <div *ngIf=‘f.controls.username?.required‘ class=‘error‘>
    Name is required. 
 </div> 
</form>  
   

 

2.

使用ngModel指令,ngModel会自动关联表单控件name属性,并使用该值作为ngForm对象的属性名

<input type=‘text‘ name=‘username‘ ngModel>
<input type=‘text‘ name=‘username‘ [ngModel]=‘user.username‘>
<input type=‘text‘ name=‘username‘ [(ngModel)]=‘user.username‘>

 

3.

[(ngModel)]=‘user.username‘  <=>  [ngModel]=‘user.username‘+(ngModelChange)=‘user.username=$event‘   

两种写法是等价的

4.

#username - 指向input表单控件

#username=‘ngModel‘  -指向NgModel实例

 

2.

除了required验证

还是有minlength、maxlength等验证规则

3.

除了touched状态

还有valid(控件有效)、invalid(控件无效)、pristine(控件值未改变)、dirty(控件值已改变)、untouched(表单控件未被访问过)

 

以上是关于ng4 Form表单相关的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot中表单提交报错“Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supported“(代码片段

vue获取form表单file

页面表单值改变未保存 离开页面给出相关提示

Form标签表单回显与提交

如何检测 LWUIT 表单中的按键事件?

与导航栏中的搜索表单相关的 Javascript 未显示在源代码中