angular.js - 如果隐藏的元素不显示时表单提交不需要做必填校验,显示的时候需要做必填校验的该怎么处理啊?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-15 17:08:25
0
5
822

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

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

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

Antworte allen(5)
左手右手慢动作

直接写个js 校验下多好,

洪涛

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

淡淡烟草味

ng-required

洪涛

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

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage