Angularjs - 下拉 - 检查是否未选择任何值

时间:2017-01-19 19:46:31

标签: angularjs

我正在尝试验证是否已选择除默认显示之外的其他选项。我似乎无法访问/验证默认情况下的空值。

我永远不会进入内心,如果我确认我已经超越了外线。所以我确定问题在于我访问'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;
};

1 个答案:

答案 0 :(得分:3)

你应该更好地使用:

if(!$scope.formData.program_id) {
   result = true;
}

如果问题仍然存在,您应该检查$scope.formData.program_id

的值