2017-05-07 25 views
0

我的自定義指令看起來像如何對自定義指令進行必要的工作?

<cities-directive name="cities" ng-model="obj.cities" required></cities-directive> 

所需的指令無法正常工作。最初obj.cities是一個空數組。我如何使用戶至少選擇一個城市以便obj.cities不是一個空數組?基本上這個指令是在一個ng表單內,我不希望表單被提交如果數組仍然是空的。

回答

1

this,你只能使用需要在3種類型哦HTML標記:

  1. 文本區域
  2. 輸入
  3. 選擇

對於你正在嘗試做的,有是一些基本的解決方案:

  • 如果您的自定義指令模板包含在輸入中,那麼您可以嘗試修改您的指令,以便將其用作屬性或類而不是元素。 (見A,E和C限制)。然後將您的指令應用於選擇或輸入標記。

  • 如果obj.cities爲空,您可以簡單地使用表單提交按鈕上的ngDisabled來阻止用戶發送表單。

<form> 
 
    <button ng-disabled="obj.cities.isEmpty()"> Submit </button> 
 
</form>

+0

謝謝您的回答......我不能做的第一個選項。有沒有辦法在指令中實現這一點?我已經閱讀過有關ngModel的其他文章,以及它如何用於驗證,但無法在jsbin或plunkr中找到示例。 –

+0

您是否試圖將指定的屬性直接放入模板中?也就是說,如果您在指令模板中使用輸入,則直接將所需的內容放入此標記中。這可能會有所幫助,如果你給你的指令代碼,尤其是html模板 – Alburkerk

+0

謝謝Alburkerk ...是的,這不是我的指令中的選項。當城市陣列爲空時,多重選擇不會顯示任何內容......當用戶添加城市時,多重選擇開始填充。多選時需要用戶點擊其中一個選項。對於我的表單,如果城市存在多選,那麼它的有效 –

相關問題