如標題,現有一個表單,裡面有一個p是由一個複選框來控制的,如果勾選,則顯示出來這個p下的input元素,並且必填校驗。如果沒有勾選,則表單提交時無需校驗隱藏元素。 ng-if的話,顯示出來的元素即使加了validator="[required]",顯示出來後也是沒有校驗的。 ng-hide的話,validator="[required]"隱藏掉的元素,它也會做必填校驗。
補充:如果直接在input標籤中寫 required 這個屬性,好像只有在IE下才能達到想要的效果。
PHP中文网2017-05-15 17:10:25
沒有用過ang_js,但是建議樓主直接在它驗證該表單的那個方法內驗證隱藏域input的那節外麵包裹一個if判斷,這樣子應該能達到最小程度的修改完成需求,同時也不影響整體的校驗風格,希望能幫到你
PHP中文网2017-05-15 17:10:25
我都是用ng-if的,沒問題的。 form表單提交。
<form name="myForm" novalidate>
<p ng-class="{'error': myForm.name.$invalid}" ng-if="show">
<input type="text" name="name" required>
</p>
</form>
任何在控制器裡面要寫當表單驗證不通過,就return回去。