2015-03-01 3 views
2

У меня есть переключатель и текстовое поле. Я хочу, чтобы текстовое поле было необходимо, только если переключатель отмечен галочкой.Angularjs: текстовое поле требуется только от переключателя.

<label class="radio"> 
    <input type="radio" value="createNewCollection" ng-model="selectedCollection" /> 
</label> 
<input type="text" ng-model="collectionName" placeholder="Create new Collection"/> 

Итак, collectionName требуется только в том случае, если выбрано createNewCollection.

+0

возможно дубликат [Как я могу условно требовать форму входа с AngularJS?] (Http://stackoverflow.com/questions/13466133/how-can-i-conditionally-require-form-inputs -with-angularjs) –

+0

Добро пожаловать в переполнение стека! Не забудьте взять несколько минут, чтобы прочитать тур: http://stackoverflow.com/tour Ваш вопрос, вероятно, будет закрыт, потому что это дубликат, но я посмотрел первый и не нашел аналогичного вопроса, поэтому не беспокойся! Этот пост может помочь другим найти то, что они ищут. Обязательно найдите другие сообщения, которые касаются вашей проблемы перед публикацией новых. – m59

ответ

4

angular.module('myApp', []);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<form name="form" ng-app="myApp"> 
 
    <label class="radio"> 
 
    <input type="radio" value="createNewCollection" ng-model="selectedCollection"> 
 
    </label> 
 
    <input type="text" name="input" ng-required="selectedCollection" ng-model="collectionName" placeholder="Create new Collection"> 
 
    <p ng-show="form.input.$error.required">This is required.</p> 
 
</form>

Вы должны установить атрибут этого входа ng-required на название модели ввода радио. ng-required="selectedCollection"

Read the docs here.

+1

отлично работает pal :-) – squiroid

+0

Это сработало, я попробовал использовать ng-required и ng-value раньше, но он не работал. Благодарим за новую директиву ngShow. –

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