springboot-网站开发-如何规避和拒绝用户输入的空字符串

springboot-网站开发-如何规避和拒绝用户输入的空字符串!在网站开发过程中,前端用户的输入内容,经常会遇到有人故意输入字符串。导致一些异常的发生。

下面分享一下,我的应对方法。仅供参考。


前端html模板页面内,我做了一下js的判定,但是我感觉没有发挥作用。不知道什么原因,如果有懂的朋友,可以留言给我,谢谢。


复制代码
/*1.对用户名进行验证*/
    //当对象失去焦点触发验证流程
    uname.onblur = function(){
        if(this.validity.valueMissing){
            this.nextElementSibling.innerHTML = '用户名不能为空';
            this.nextElementSibling.className = 'msg-error';
            this.setCustomValidity('用户名不能为空');
        }else if(this.validity.tooShort){
            this.nextElementSibling.innerHTML = '用户名不能少于2位';
            this.nextElementSibling.className = 'msg-error';
            this.setCustomValidity('用户名不能少于2位');
        }else {
            this.nextElementSibling.innerHTML = '用户名格式正确';
            this.nextElementSibling.className = 'msg-success';
            this.setCustomValidity('');
            var data =$("#uname").val().replace(/\s+/g, '');
            if(!data || isOnlySpaces(data)){   //用户没有输入任何内容
                return;
            }
            /**发起异步GET请求,询问服务器用户名是否已经存在**/
            $.ajax({
                url:"../user/checkName",
                //let filteredValue = inputValue.replace(/\s+/g, '');
                data:"username="+$("#uname").val().replace(/\s+/g, ''),
                type:"get",
                dataType:"json",
                success:function(obj){
                    $("#namespan").html(obj.message);//显示服务器的响应信息
                    if(obj.state==0){
                        $("#namespan").attr("class","msg-error");
                    }else{
                        $("#namespan").attr("class","msg-success");
                    }
                }
            });

        }
    }

这个地方做了判断,没有什么效果,照样会进入后端接口的执行。


2:还好,我也在后端接口里面做了判定。增加了如下代码。

这个是做了用户名字的验证。是否可用。从数据库内查询是否存在,如果不存在,就返回可以使用。


3:在真正的注册接口内,还做了第三次验证。

现在执行代码后,等用户在前端页面点击提交注册按钮后,反馈了一个不允许输入空字符。

说明,我前面2步骤都米有发生行为。到了第三步才发生了行为。

不管怎么说,问题是解决了。

相关推荐
独泪了无痕7 小时前
Spring Data Redis 快速上手
spring boot·redis·后端
wangchunyu1149 小时前
JAVA CompletableFuture异步编程实战
java·开发语言·python
paopaokaka_luck10 小时前
流浪动物救助与收养系统(DeepSeek AI对话、 ECharts多维分析、救助流程衔接、领养与回访衔接、 捐赠确认与公示、志愿者协作)
java·前端·javascript·人工智能·mysql·echarts·推荐算法
Thomas.Sir10 小时前
第9课:SpringBoot4.x Web开发基础:WebMvc自动配置、静态资源、请求参数接收
java·spring boot
程序 代码狂人10 小时前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法
m0_6399069411 小时前
Linux 操作系统入门:目录结构、服务排查常用命令、Shell 脚本基础
linux·运维·后端
2501_9445215911 小时前
Deepmerge 跨端三方库仓颉适配全流程
java·python·eclipse·github
holly就是我12 小时前
AI 编程助手为什么跑偏?用开源 ccglass 看清 Prompt、工具调用和 Token 消耗
人工智能·后端
鸿蒙开发12 小时前
共享 Schema 与 SchemaFactory
前端·后端·harmonyos
用户7884773163412 小时前
小程序后端三选一:云开发、.NET WebAPI、Node,我按客户现状分了三种答案
后端