1

私は次のような形式があります:私はスターをクリックすると
enter image description here
、入力が自動的にクリックした星の数が移入されます。 (入力は番号が設定されます「3」の画像怒鳴るのように第三星をクリック)AngularJSは、入力がダイナミック埋めたときに失敗し、検証を形成

enter image description here
星怒鳴る入力がng-required="true"です。

<form name="completeSurveyForm" role="form" novalidate ng-submit="vm.save()"> 
    <ul class="question-list"> 
     <li data-ng-repeat="question in vm.survey.questions | orderBy:'conditionalOrderId' track by question.id "> 
      <small class="label label-primary pull-right">{{question.questionTypeName}}</small> 
      <h3> 
       <b>{{$index +1 }}.</b>&nbsp;{{question.questionBody}} 
      </h3> 
      <hr> <!-- Replace here with directives --> 
      <div data-ng-switch="question.questionType"> 
       <numericrange question="question" data-ng-switch-when="NUMERIC_CHOICE" /> 
      </div> 
     </li> 
    </ul> 
    <button type="submit" ng-disabled="completeSurveyForm.$invalid " class="btn btn-primary"> 
     <span data-translate="fqApp.business.form.submit">Submit</span> 
    </button> 
</form> 

とにNumericRangeディレクティブのようになります。私は、星をクリックして、入力フォームが失敗した数を動的に移入された場合

<div class="row"> 
    <div class="col-md-2" ng-if="!completed"> 
     <div> 
      <span ng-mouseover="showHovered($event)" ng-mouseleave="clearStars($event)" ng-click="selectStar($event)" 
       data-ng-repeat="sym in range(startNonActive(question), question.maxValue, 1)" class="{{question.symbol}} starred-element" value="{{$index}}"> 
      </span> 

      <input type="number" name="{{question.id}}" 
        data-ng-model="question.numericValue" 
        data-ng-value="numberOfSelectedStars" ng-required="true" /> 
     </div> 

    </div> 
</div> 

問題に取得画像のように検証する:

入力に手動で数値を入力するとフォームが有効になり、[送信]ボタンをクリックできます。

なぜ入力を手動で入力するとフォームが有効になり、[送信]ボタンをクリックできます。入力が星印を選択して自動的に入力された場合、フォームは検証されず[送信]ボタンをクリックしますか?

答えて

6

スターをクリックしているときに、値が割り当てられたときに手作業で汚れてしまいます。

angular.forEach($scope.form.$error.required, function(field) { 
    field.$setDirty(); 
}) 

または

あなたは$setViewValue(value, trigger)メソッドを使用することができます。このメソッドは、コントロールがビューの値を変更したいときに呼び出されます。 参照here

関連する問題