【发布时间】:2014-05-26 02:16:50
【问题描述】:
我有一个表单,它有几个文本区域和引导 UI 星级及其标签文本。我已将所有文本区域和星级评分设置为必填字段。
当我单击提交按钮时,我想将文本区域 ()/星级 () 的所有标签文本(即 )更改为红色字体,并在所有无效字段的文本区域周围设置红色边框。以下是我的代码,它不起作用。
当我点击保存按钮而不输入任何内容时,我希望发生以下情况。你能告诉我如何实现这 3 个项目吗?
- 将无效文本区域周围的边框更改为红色
- 将无效文本区域标签的字体颜色更改为红色
- 将无效星级(如果用户未选择至少 1 个星级)评级标签的正面颜色更改为红色。
提前感谢您的帮助。
这里是html:
<div class="row">
<div class="col-lg-7 col-md-12">
<form name="addReviewForm" class="addReview-form" role="addReviewForm" ng-class="{submitted:addReviewForm.submitted}">
<div class="form-group">
<label for="reviewTitle">Review Title:</label>
<br />
<textarea ng-model="review.title" id="reviewTitle" class="form-control" name="reviewTitle" rows="3" placeholder="Write your review title here" required></textarea>
</div>
<div class="form-group">
<label>Review:</label>
<textarea ng-model="review.comments" class="form-control" name="comments" rows="3" placeholder="Write your review here" required></textarea>
</div>
</form>
</div>
<div class="col-lg-5 col-md-12">
<dl class="dl-horizontal">
<dt>On time deliver:</dt>
<dd>
<rating value="review.Time" max="max" readonly="false" rating-states="ratingStates" name="onTime" required></rating>
</dd>
<dt>Customer service:</dt>
<dd>
<rating value="review.CustomerService" max="max" readonly="false" rating-states="ratingStates" name="customerService" required></rating>
</dd>
</div>
</div>
这是单击“保存”按钮时调用的函数:
$scope.addReview = function (review) {
if ($scope.addReviewForm.$valid) {
//submit as normal
}
else {
$scope.addReviewForm.submitted = true;
}
}
这是我的 CSS:
addReviewForm.submitted .ng-dirty.ng-invalid{
border: 1px solid red;
}
addReviewForm.submitted .ng-dirty.ng-valid{
border: 1px solid green;
}
【问题讨论】:
标签: forms angularjs css validation