如何在<form>标记内进行angular.js验证

时间:2016-12-10 10:15:17

标签: javascript angularjs validation angular-validation

我编写了这段代码但是当我将我的应用放在<form name="myForm">...标记内时,它无法正常工作。我该怎么做才能使它有效! (只要我将myForm放在ng-app内,它就可以了,但我的应用应该在<form>

<form name="myForm">
    <div ng-app ng-init="myInput = 'ABC'">
        <input name="myInput" ng-model="myInput" required>
        <h1>{{myForm.myInput.$valid}}</h1>
    </div>
</form>

jsfiddle

2 个答案:

答案 0 :(得分:1)

您可以使用ngForm指令(此处)启用其中的验证服务:

像这样:

<div ng-app="" ng-controller="validateCtrl" name="myForm" novalidate ng-form>

答案 1 :(得分:0)

ng-app标记内有form个标记。因此form标记myForm的标记不会被角度编译而myForm在角度范围内不可用。

您应该将ng-app移到最顶层的父级,大部分是html / body标记,这样您就可以确保所有内容都由angular&amp;将留在角度背景中。

<form ng-app name="myForm">
    <div  ng-init="myInput = 'ABC'">
        <input name="myInput" ng-model="myInput" required>
        <h1>{{myForm.myInput.$valid}}</h1>
    </div>
</form>

Forked Fiddle

  

创建没有模块的角度应用程序并不是一个好主意。理想情况下它应该有模块和在ng-app指令中提供该模块。我想你正在学习那就是你在那里拥有它的原因。