2015-04-07 57 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> 
相關問題