I have this AngularJS code trying to show two stars next to label when there is no text in the textarea. Same code works for input tags, but not with textarea.
<div class="input-left">
<label for="email">
<span ng-show="contactform.email.$error.required" class="required">*</span>Email:
</label>
<input ng-model="email" type="text" name="email" id="email" required></br></br>
<label for="budget">Budzet:</label>
<input ng-model="budget" type="text" name="budget" id="budget">
</div>
<div class="clearboth">
<label for="msg" class="left" >
<span ng-show="contactform.msg.$error.required" class="required">**</span>Pitanja ili Komentari?
</label>
<textarea ng-model="msg" rows="8" cols="50" class="input-no-width rounded shaded left clearboth" id="msg" required></textarea>
</div>
According to AngularJS documentation – textarea should behave same as input.
Your problem with the
<textarea>tag is that it doesn’t definenameattribute.AngularJS uses the
nameattribute to expose validation errors.You should define your textarea like so:
Please note that having
idandng-modelis not enough to properly handle validation messages. In AngularJS applications theidattribute often doesn’t serve much purpose and could be omitted.