suchen

Heim  >  Fragen und Antworten  >  Hauptteil

angular.js - 如果隐藏的元素不显示时表单提交不需要做必填校验,显示的时候需要做必填校验的该怎么处理啊?

如标题,现有一个表单,里面有一个p是由一个复选框来控制的,如果勾选,则显示出来这个p下的input元素,并且必填校验。如果没有勾选,则表单提交时无需校验隐藏元素。ng-if的话,显示出来的元素即使加了validator="[required]",显示出来后也是没有校验的。ng-hide的话,validator="[required]"隐藏掉的元素,它也会做必填校验。

补充:如果直接在input标签中写 required 这个属性,好像只有在IE下能达到想要的效果。

曾经蜡笔没有小新曾经蜡笔没有小新2744 Tage vor810

Antworte allen(5)Ich werde antworten

  • ringa_lee

    ringa_lee2017-05-15 17:10:25

    直接写个js 校验下多好,

    Antwort
    0
  • PHP中文网

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

    没有用过ang_js,但是建议楼主直接在它验证该表单的那个方法内验证隐藏域input的那节外面包裹一个if判断,这样子应该能达到最小程度的修改完成需求,同时也不影响整体的校验风格,希望能帮到你

    Antwort
    0
  • 淡淡烟草味

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

    ng-required

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

    Antwort
    0
  • 怪我咯

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

    隐藏的表单设置为非required

    Antwort
    0
  • StornierenAntwort