2014-05-17 3 views
1

입니다. 나는 여러 각도로 선택 필드를 가지고 있는데, 나는 선택할 수있는 옵션의 총 수를 제한하려고합니다. http://jsfiddle.net/4A8b7/1/복수 선택을위한 최대 길이는

그것의 요지는 다음과 같습니다 : 여기에 바이올린입니다

<select size="10" id="myselection" 
    ng-multiple="true" ng-model="selectedColors" 
    ng-options="c.name+' ('+c.shade+')' for c in colors" ng-maxlength="2" 
    required> 
</select> 

양식 유효성 길이는 평가 결코 선택한 옵션이 없음을 때, 형태가 유효하지 않은 유일한 시간이다. maxlength가 select로 작동하도록 "가정"되어 있는지 확실하지 않지만, 그렇지 않은 경우 select로 작동하도록 지시문을 확장 할 수 있습니까?

답변

2

ng-maxlength은 입력 길이이고, ng-multiplenot supported anymore입니다. selectedColors 배열의 길이를 볼 수 있으며 $setValidity을 수동으로 호출 할 수 있습니다.

$scope.$watch('selectedColors.length', function(length) {   
    var valid = length <= 2; 
    $scope.form.colors.$setValidity("max2", valid); 
}); 

는 그런 다음과 같이 뷰에서 유효성을 사용할 수 있습니다

<form name="form"> 
<select name="colors" ... ></select> 
<span ng-show="form.colors.$error.max2">Only select up to 2 colors.</span> 

당신이 here is an update of your fiddle 코드를 시도합니다.

관련 문제