当文件输入的验证(在laravel项目中)失败时,用户将被重定向到当前页面。
问题在于,用户必须先向下滚动才能看到错误消息,并因此查看自己做错了什么。
看来这并不是我能想到的最好的用户体验。
因此,我认为最好重定向到页面并“向下滚动”(通过javascript)到用户犯错的位置;
我可以使用scrollIntoView()
做到这一点,我只需要确定用户是否重定向到页面即可(只有在验证失败时才会发生这种情况)
我尝试了这个:
if (window.performance.navigation.type == 0) {
specificElement.scrollIntoView();
}
但是,如果用户在提交表单后到达那里(这恰好发生在我之前,我又有两个表单),也将是
0
,因此,这种“解决方案”根本对我没有帮助。有什么想法如何找出用户已重定向?
最佳答案
我认为先检查是否有验证错误会更容易..
因此,如果存在,请运行javascript srollintoview。
在laravel 5.7中,您可以使用
@if ($errors->any())
<script>
element.scrollIntoView();
</script>
@endif