2015-03-19 2 views
1

У меня есть аккордеон (угловой бутстрап), который имеет 3 группы. Во второй группе есть форма, которая хорошо проверяет (обязательные поля и поля электронной почты).Проверка формы внутри аккордеона angularJS

В третьей группе есть сводка, построенная из данных формы. Или должно быть дополнительное сообщение об ошибке, когда что-то недействительно в форме.

Из-за директивной структуры каждая аккордеонная группа имеет собственный изолированный объем. Как можно разделить форму. $ Valid (или другие свойства) между различными аккордеонными группами (или даже вне аккордеона).

Это мой HTML (сокращенный):

<accordion close-others="true" id="checkoutsteps"> 
       <accordion-group is-open="menuStatus[0].isOpen"> 
        [...] 
       </accordion-group> 
       <accordion-group is-open="menuStatus[1].isOpen"> 
        <accordion-heading> 
         <div class="number">2</div> 
         {{bid.name}} 
        </accordion-heading> 

        <div class="step-content"> 
         <form name="frmOffer">[...]</form> 
        </div> 
       </accordion-group> 
       <accordion-group is-open="menuStatus[1].isOpen"> 
        <accordion-heading> 
         <div class="number">3</div> 
         Summary 
        </accordion-heading> 

        <div class="step-content"> 
         <div ng-show="frmOffer.$valid"></div> <-- THIS DOES NOT WORK 
        </div> 
       </accordion-group> 
+0

Любые идеи? bump – BakGat

+0

Вы когда-нибудь решали это? У меня такая же проблема с моим «аккордеонным заголовком», не включая содержащиеся в нем входы – CaffGeek

+0

До сих пор я не нашел решения – BakGat

ответ

1

Решение определить новый объект в контроллере что-то вроде

$scope.formObj={} 

Затем назовите вашу форму в пределах этого элемента:

name="formObj.frmOffer"> 

Конечно, вам придется использовать этот объект повсюду.

<div ng-show="formObj.frmOffer.$valid"></div> 
Смежные вопросы