angular.js - 如果隱藏的元素不顯示時表單提交不需要做必填校驗,顯示的時候需要做必填校驗的該怎麼處理啊?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-15 17:08:25
0
5
858

如標題,現有一個表單,裡面有一個p是由一個複選框來控制的,如果勾選,則顯示出來這個p下的input元素,並且必填校驗。如果沒有勾選,則表單提交時無需校驗隱藏元素。 ng-if的話,顯示出來的元素即使加了validator="[required]",顯示出來後也是沒有校驗的。 ng-hide的話,validator="[required]"隱藏掉的元素,它也會做必填校驗。

補充:如果直接在input標籤中寫 required 這個屬性,好像只有在IE下才能達到想要的效果。

曾经蜡笔没有小新
曾经蜡笔没有小新

全部回覆(5)
左手右手慢动作

直接寫個js 校驗下多好,

洪涛

沒有用過ang_js,但是建議樓主直接在它驗證該表單的那個方法內驗證隱藏域input的那節外麵包裹一個if判斷,這樣子應該能達到最小程度的修改完成需求,同時也不影響整體的校驗風格,希望能幫到你

淡淡烟草味

ng-必需

洪涛

我都是用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回去。

刘奇

隱藏的表單設定為非required

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板