Angularjs 角度形式验证-形式中的形式

Angularjs 角度形式验证-形式中的形式,angularjs,Angularjs,我想验证两个表单。主要形式是针对公司模型的e.q,第二种形式是针对公司地址模型的e.q CompanyAddressForm位于CompanyForm内。 我在验证公司表单时遇到问题。这取决于CompanyAddressForm验证,我不希望这样 // Main form <form ...> <input ... required /> // MODAL <button submit ... ng-disabled=MainForm.$in

我想验证两个表单。主要形式是针对公司模型的e.q,第二种形式是针对公司地址模型的e.q

CompanyAddressForm
位于
CompanyForm
内。 我在验证公司表单时遇到问题。这取决于
CompanyAddressForm
验证,我不希望这样

// Main form
<form ...>
    <input ... required />
    // MODAL
    <button submit ... ng-disabled=MainForm.$invalid>
</form>

// Second form is in modal
<form. ..>
    <input ... />
    <button submit=SecondForm.$invalid />
</form>
//主窗体
//模态
//第二种形式是情态动词

//这是一个问题

根据html5规范(和xhtml规范),表单中不允许有其他表单:

内容模型: 流动内容,但不包含表单元素子体。 资料来源:


因此,我强烈(!)建议您重新构造表单,不要将它们放在其他表单中,因为行为可能会有所不同(不同浏览器和时间不同)。

使用不同的类或id分别处理这两个表单


您不能将一个表单放在另一个表单中…这是一个糟糕的编程实践

您是否在这两个表单上有这样的名称:
?是的。同样的,好的,谢谢。我想这是不允许的。那么我如何才能在模态内部验证输入,而不与主表单发生反应呢?当表单元素位于表单外部时,解决方案并不完美,因为提交表单的方式多种多样,而不仅仅是单击提交按钮(例如,在某些浏览器中为“ctrl-enter”)。如果可能的话,你应该避免这种情况。如果确实需要这样做,则需要手动触发验证,如下所示:
angular.forEach(,function(field){field.$setDirty();})