javascript - AngularJS 表单验证不起作用,显示空表单
问题描述
我正在尝试创建一个包含选择和输入的表单。不幸的是,当我添加此表单时,填写输入时没有任何反应,没有任何动作......下面是我的代码:
<form name="myForm" novalidate>
<p>Username:
<br>
<input type="text" name="user" ng-model="user" required>
<span style="color:red" ng-show="myForm.user.$dirty && myForm.user.$invalid">
<span ng-show="myForm.user.$error.required">Username is required.</span>
</span>
</p>
<p>
<input type="submit" ng-disabled="(myForm.user.$dirty && myForm.user.$invalid) || (myForm.email.$dirty && myForm.email.$invalid)">
</p>
{{(myForm)}}
{{myForm}}
{{myForm.user.$error}}
{{myForm.user.$dirty}}
</form>
当我意识到什么都没有发生时,我决定将 myform 属性显示为纯文本,{{(myForm)}} {{myForm}} {{myForm.user.$error}} {{myForm.user.$dirty}}
但什么也没显示!
那么,有什么建议可以让它工作吗?
解决方案
所有 AngularJS 应用程序都必须有一个根元素。该ng-app
指令告诉 AngularJS 哪个是应用程序的根元素。请参阅https://www.w3schools.com/angular/ng_ng-app.asp。当我添加ng-app
到您的 HTML 时,我能够使您的代码正常工作。
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
<body ng-app="">
<form name="myForm" novalidate>
<p>Username:
<br>
<input type="text" name="user" ng-model="user" required>
<span style="color:red" ng-show="myForm.user.$dirty && myForm.user.$invalid">
<span ng-show="myForm.user.$error.required">Username is required.</span>
</span>
</p>
<p>
<input type="submit" ng-disabled="(myForm.user.$dirty && myForm.user.$invalid) || (myForm.email.$dirty && myForm.email.$invalid)">
</p>
{{(myForm)}} {{myForm}} {{myForm.user.$error}} {{myForm.user.$dirty}}
</form>
</body>
推荐阅读
- go - 在执行 Marshal 和 Unmarshal 时,JSON 字段名称的大小写是否重要?
- android - 多次压缩位图
- google-cloud-dataflow - 每隔几天出现流式数据流系统滞后问题
- c# - 如何编写谓词函数
- gmail - 是否可以从 gmail api 创建过滤器以将消息标记到已发送文件夹
- html - 图片不适合页面,需要另外高于所有内容
- c# - gridview 下拉列表值问题
- r - 在数据框中查找 ID 并从另一个数据框中绘制值
- javascript - Redux:将用于非平坦状态的 `reducres` 与避免创建大量 reducer 相结合
- html - CSS 3 行,第一行固定大小,最后一行固定大小,居中休息