我正在尝试验证是否已选择除默认显示之外的其他选项。我似乎无法访问/验证默认情况下的空值。
我永远不会进入内心,如果我确认我已经超越了外线。所以我确定问题在于我访问'program_id'的方法我只是碰壁了。任何帮助将不胜感激。谢谢。
programIdsDropDown是从DB填充的JSON。
HTML
<select
name="program_id"
class="form-control"
ng-model="formData.program_id"
ng-options="key as value for (key, value) in programIdsDropDown"
>
<option value="">Please select..</option>
</select>
<div ng-show="mainForm.$submitted">
<span class="text-danger" ng-show="shouldChangeProgram()">Please select a Program.<br /></span>
</div>
控制器
$scope.shouldChangeProgram = function() {
var result = false;
if($scope.formData.status == 'closed')
{
if($scope.formData.program_id == '')
{
result = true;
}
}
$scope.mainForm.status.$setValidity('shouldChangeProgram', !result);
return result;
};
答案 0 :(得分:3)
你应该更好地使用:
if(!$scope.formData.program_id) {
result = true;
}
如果问题仍然存在,您应该检查$scope.formData.program_id