摘要:方案动态计算定位,于失败项附近,并定时消失,多个提示一同显示。遇到问题当表单处于中,并且表单高度大于高度,验证失败项又刚好在被隐藏的部分,需要对这部分提示做特殊处理,暂且处理为不显示这部分提示。
方案
动态计算定位,fixed于失败项附近,并定时消失,多个提示一同显示。
遇到问题当表单处于dialog中,并且表单高度大于dialog高度,验证失败项又刚好在被overflow隐藏的部分,需要对这部分提示做特殊处理,暂且处理为不显示这部分提示。问题如图:
解决问题判断是否处在dialog中
判断验证失败项是否在overflow隐藏部分
function nodeParents (elm, cls) { let parent = elm.parentNode while (parent && !parent.classList.contains(cls)) { parent = parent.parentNode } return parent }
function visibleInDialog (elm, parent) { const rect1 = elm.getBoundingClientRect() const rect2 = parent.getBoundingClientRect() return rect1.bottom < rect2.bottom && rect1.top > rect2.top }
const dialog = nodeParents(elm, "dialog") if (dialog && visibleInDialog(elm, dialog) || !dialog) { errorTip(tip) }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/99945.html
摘要:前言前端的童鞋在写页面时都不可避免的总会踩到表单验证这个坑这时候我们就要跪了因为要写一堆来检查但是自从出现后很多常见的表达验证它都已经帮我们实现了让我们减轻了很多负担就好像下面的邮箱地址验证邮箱邮箱验证是自身支持的但是我们要验证的场景和情 前言 前端的童鞋在写页面时, 都不可避免的总会踩到表单验证这个坑. 这时候, 我们就要跪了, 因为要写一堆js来检查. 但是自从H5出现后,...
摘要:介绍在后端项目里比如我们的框架对于表单验证有自己的一套机制他将验证集成在我们只需要在我们的方法中依赖注入我们自己实例化后的验证类当然也可以直接去在方法里去验证表单数据而在我们的前端的项目里也就是在我们的项目里也有比较好的验证解决方案也就是这 介绍 在后端项目里 比如我们的Laravel框架 对于表单验证有自己的一套validation机制 他将验证集成在FormRequest 我们只...
阅读 3793·2021-11-17 09:33
阅读 2011·2021-10-26 09:51
阅读 1526·2021-09-29 09:44
阅读 1678·2019-08-30 15:55
阅读 1447·2019-08-30 15:52
阅读 2324·2019-08-30 15:43
阅读 3432·2019-08-29 17:00
阅读 2301·2019-08-29 16:23