现在我在HTML中使用条件:
ng-submit="appointment.$valid && AppointmentSubmit()"
但我的表单不是由方法AppointmentSubmit()
发送的。我如何看到appointment.$valid
中的错误?
我也试过了:
ng-submit="appointment.AppointmentSubmit()"
但是虽然所有字段都已填满,但按钮仍被禁用。
我认为这个问题:
<select name="mouth" ng-model="month" ng-required="true" class="ng-pristine ng-invalid ng-invalid-required" required="required"><option value="? undefined:undefined ?"></option>
<option value="0">A</option>
<option value="1">Yanvar</option>
<option value="2">Fevral</option>
<option value="3" selected="selected">Mart</option>
</select>
Angular添加了一个新选项&#39;&#39;在每个选择中。为什么会这样?
答案 0 :(得分:0)
正如here所解释的那样,Angular在select的开头添加了一个'undefined'选项:
当传递给ng-options
的一组选项中不存在ng-model引用的值时
所以解决这个问题的方法是将模型的初始值设置为select的一个选项。例如,像这样:
$scope.selectData = [
{id: 0, value: 'A'},
{id: 1, value: 'Yanvar'},
{id: 2, value: 'Fevral'},
{id: 3, value: 'Mart'}
];
$scope.month = selectData[0].id;
现在,至于如何知道哪个字段给你一个错误,那就是CSS aproach。 Angular将css类添加到给出错误的字段中,此类称为“ng-invalid”。您可以在添加“ng-invalid”类时为表单字段添加样式,以便用户可以(直观地)知道哪些字段是错误的。
示例(摘自AngularJs Documentation):
.my-form.ng-invalid {
background: red;
color:white;
}