2015-04-07 26 views
2

如何在不知道输入名称的情况下触发错误消息?请参见下面的代码:如何通过ng-messages指令获取元素inputName?

<input class="form-control" 
      id="{{field.field_id}}" 
      set-name="{{field.field_id}}" 
      type="text" 
      ng-model="field.field_value" 
      ng-minlength="field.field_char_num_min" 
      ng-maxlength="field.field_char_num_max"/> 

    <div ng-messages="don't know the input name yet" class="my-messages"> 
     <div ng-message="minlength">Your field is too short</div> 
     <div ng-message="maxlength">Your field is too long</div> 
    </div> 

ng-messages应该从输入写入路径的错误,好像myForm.inputName.$error。但输入将自动生成并附加,因此我不能写入名称,因为生成器会设置名称。我必须获得输入名称。我该怎么做?

+0

有你吗尝试:'myForm [field.field_id]。$ error'? –

回答

0

尝试这样的事情在NG-消息

<form name="formName"> 
<input type="text" id="anyName" name="anyName" required/> 
    <span ng-show="formName.anyName.$error.required"> Please enter a value.</span>        
</form> 
+0

但我不知道什么是输入的名称,所以我不能写它。该名称作为每个新附加输入的随机字符生成。 – S3B4ST14N

+0

你可以提供猛击吗? – Ritesh

0

你可以使用field[field.field_id]['$invalid']确定字段是否有效与否,然后使用field[field.field_id]['$error']显示minlength & maxlength错误

标记

<div ng-show="field[field.field_id]['$invalid']" class="my-messages"> 
    <div ng-message="field[field.field_id]['$error'].minlength">Your field is too short</div> 
    <div ng-message="field[field.field_id]['$error'].maxlength">Your field is too long</div> 
</div> 
相关问题