在强制下拉字段中编写自定义验证

时间:2014-04-08 16:05:16

标签: angularjs

我正在尝试在下拉列表上编写自定义验证,这是强制性的。

我需要根据用户选择的值强加某些条件。如果我的条件失败,我将使字段无效并向用户显示错误消息,表明所选值无效。

我曾尝试编写以下代码,但不确定在何处编写检查条件的方法。

<div class="form-group" data-ng-class="{'has-error' : myForm.duration.$invalid}">
        <label for="durationOfclass">Duration</label>
        <div class="col-sm-4 col-md-3">
          <select name="duration" class="form-control" data-ng-required="true" 
             data-ng-model="durationOfclass" 
             data-ng-options="h.name for h in availableDurations()">
            <option value="">-- Välj --</option>                
          </select>
        </div>
         <label class="text-danger" data-ng-show="myForm.duration.$error.isValid" for="imei">Selected value is invalid</label>
      </div>

有人可以帮助我。

1 个答案:

答案 0 :(得分:0)

我建议在你的控制器中包含$ rootScope。$ watch('object',validate)(这很慢;以下选项更好),或者在select上包含这个:

<select ... ng-change="validate()">

然后,在您的控制器中,$ scope.validate将设置或取消设置一个标志,该标志控制表单1是否显示为有效,2。是否可提交,3。错误消息是否可见。

希望有所帮助!