搜尋

首頁  >  問答  >  主體

angular.js - 如果隱藏的元素不顯示時表單提交不需要做必填校驗,顯示的時候需要做必填校驗的該怎麼處理啊?

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

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

曾经蜡笔没有小新曾经蜡笔没有小新2744 天前805

全部回覆(5)我來回復

  • ringa_lee

    ringa_lee2017-05-15 17:10:25

    直接寫個js 校驗下多好,

    回覆
    0
  • PHP中文网

    PHP中文网2017-05-15 17:10:25

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

    回覆
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-15 17:10:25

    ng-必需

    回覆
    0
  • PHP中文网

    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回去。

    回覆
    0
  • 怪我咯

    怪我咯2017-05-15 17:10:25

    隱藏的表單設定為非required

    回覆
    0
  • 取消回覆