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

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

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

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

全部回复(5)
ringa_lee

直接写个js 校验下多好,

PHP中文网

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

淡淡烟草味

ng-required

PHP中文网

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号