【问题标题】:Form fields are not present on the form object in AngularAngular 中的表单对象上不存在表单字段
【发布时间】:2016-06-10 12:27:01
【问题描述】:

我有来自angular site的以下代码:

<form name='form'>
    <div contentEditable="true" ng-model="content" title="Click to edit">Some</div>

    <pre>{{form | json}}</pre>
</form>

我在所需输入下方输出以下内容:

{
  "$error": {},
  "$name": "form",
  "$dirty": true,
  "$pristine": false,
  "$valid": true,
  "$invalid": false,
  "$submitted": false
}

遗憾的是,由于表单上没有输入属性,因此我无法检查输入的有效性/重复性/等。

为什么表单对象上不存在有角度的字段?

Relevant plunker

Angular 版本:1.4.4

【问题讨论】:

    标签: angularjs forms validation


    【解决方案1】:

    事实证明,当输入的name属性存在时, (仅与HTML中的合理更改有关)向表单对象添加了一个属性.

    因此这段代码(我添加了name='firstName' 和一些基本验证:ng-required="true" 以供测试):

      <form name='form'>
        <div contentEditable="true"
             ng-model="content"
             title="Click to edit"
             ng-required="true"
             name='firstName'> Some </div>
    
        <pre>{{form | json}}</pre>
      </form>
    

    将输出带有与输入相关的firstName属性的表单对象:

    {
      "$error": {},
      "$name": "form",
      "$dirty": true,
      "$pristine": false,
      "$valid": true,
      "$invalid": false,
      "$submitted": false,
      "firstName": {
        "$viewValue": " Some ",
        "$modelValue": " Some ",
        "$validators": {},
        "$asyncValidators": {},
        "$parsers": [],
        "$formatters": [],
        "$viewChangeListeners": [],
        "$untouched": false,
        "$touched": true,
        "$pristine": false,
        "$dirty": true,
        "$valid": true,
        "$invalid": false,
        "$error": {},
        "$name": "firstName",
        "$options": null
      }
    }
    

    Relevant plunker

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-17
      • 2020-01-01
      • 2020-09-21
      • 2017-06-12
      • 1970-01-01
      相关资源
      最近更新 更多