2014-10-21 2 views
2

Я создаю многоэтапную форму AngularJS, которая добавляет классы ошибок начальной загрузки в ng-классе. Я использую этот учебник в качестве базы для построения формы http://scotch.io/tutorials/javascript/angularjs-multi-step-form-using-ui-router#building-our-angular-app-app.js.AngularJS ng-класс, не применяющий классы ошибок начальной загрузки

Вопрос: Почему классы класса CSS ng-класса не применяются к моей оболочке группы форм, когда дочерние поля недействительны? Моя кнопка отправки остается отключенной до тех пор, пока поля формы не будут корректными, но классы ошибок и стилизация никогда не будут применены.

HTML

<div class="form-group" ng-class="{'has-error has-feedback' : longForm.fullName.$invalid && !longForm.fullName.$pristine}"> 
    <label class="hidden-xs" for="FullName">Full Name</label> 
    <input class="form-control input-lg" type="text" name="FullName" placeholder="Your Full Name" ng-model="longFormData.fullName" required /> 
</div> 
<div class="form-group"> 
    <button class="btn btn-cta btn-lg btn-block" type="submit" ng-disabled="longForm.$invalid">Next</button> 
</div> 

ответ

1

В данном конкретном случае это на самом деле очень просто.

У вас есть имя вашего ввода как FullName, но вы ссылаетесь на него как fullName.

Имена свойств, опубликованные на контроллере формы чувствительны к регистру, поэтому просто изменить регистр либо:

name="FullName" в name="fullName"

ИЛИ

longForm.fullName к longForm.FullName

+0

Я также не уверены, что имена классов в 'ng-class' должны быть указаны вместе так же – JoseM

+0

@JoseM - Они на самом деле могут. Это просто имя свойства JavaScript в конце дня, а пробелы в середине свойств JavaScript на 100% легальны :) – Josh

+0

@ Josh, вы, мужчина! Спасибо за свежий набор глаз. –

Смежные вопросы