2015-06-04 2 views
0

Есть ли способ, которым я могу это сделать? У меня есть форма с 5 входами, но я хочу, чтобы один из них, чтобы не быть затронутым ngDirty или ngPrestine, или все это, есть ли в любом случае я могу это сделать? Если вам нужна дополнительная информация, пожалуйста, скажите мне.Игнорировать проверку формы Angular.JS для одного входа внутри формы

Некоторые HTML для контекста:

<input id="name" ng-model="device.Name" type="text" class="form-control"> 

    <input id="description" ng-model="img.Description" type="text" class="form-control" />  

</form> 

И CSS, который был сделан аутсайдером:

input.ng-dirty 
{ 
    &.ng-invalid 
    { 
    border: 1px solid $error; 
    background-color: transparentize($error, 0.95); 
    } 
    &.ng-valid 
    { 
    border: 1px solid $success; 
    background-color: transparentize($success, 0.95); 
    } 
} 

input.ng-pristine 
{ 
    &.ng-invalid 
    { 
    border: 1px solid $required; 
    background-color: transparentize($required, 0.95); 
    } 
} 

Теперь поясню, это говорит о том, что любой элемент ввода, когда на грязный или престижное состояние, как эти цвета, как я мог игнорировать это для одного поля? Скажем, для поля «имя»?

ответ

1

Вы можете достичь этого, добавив класс css, который отключает стилизацию в полях ввода, которые его используют.

В CSS

... 

input.ng-pristine:not(.no-change) { 
    ... 
} 

... 

Моделирование будет применяться только на элементах, которые не имеют класс no-change.

В HTML

<input id="name" ng-model="device.Name" type="text" class="form-control no-change"> 
<input id="description" ng-model="img.Description" type="text" class="form-control" />  
Смежные вопросы