【发布时间】:2017-01-26 09:13:35
【问题描述】:
我是 AngularJS 新手,我在正确使用 HTML5 嵌套表单验证时遇到问题。
我有 2 个表单,一个是 mainFrm(父表单),另一个是 stateFrm(子表单)。我在自己的范围内验证每个表单时遇到问题。
<form id="mainFrm" ng-submit="save()">
<text-input form="mainFrm" required type="text">
<form id="stateFrm" ng-submit="addState()">
<input form="stateFrm" type="text">
<!-- this wont add an item if input-text is empty-->
<!-- prompts html5 validation-->
<button form="stateFrm" type="submit">Add state to favorite</button>
<!-- and a list of favorite states -->
</form>
<!-- (Will validate only the text-input of mainFrm if empty) -->
<button type="submit">Save</button>
</form>
执行此操作时,stateFrm 的提交按钮不起作用。该表单的 ng-submit="" 不会触发,输入为空时没有验证提示。
这是工作的DEMO
注意:我使用了 angular-material 设计
【问题讨论】:
-
“stateFrm 的提交按钮无法正常工作”是什么意思?预期结果与实际结果如何?
-
将 stateFrm 从 mainFrm 中取出
-
@Fissio 我的意思是 stateFrm 的按钮不会触发
vm.addItem(state)预期的一个是如果为空则将进行验证,否则将项目添加到列表中 -
@MMK 为了用户,我不能这样做。
-
@ShiftN'Tab HTML5 中不允许嵌套表单。见stackoverflow.com/questions/26536861/…
标签: javascript angularjs forms validation angular-material