org.apache.commons.lang3.StringUtils.isNoneBlank为什么判断的是type而不是str是否为空?

来源:6-3 登出,注册,校验功能开发

慕粉121948417

2018-01-08

写回答

2回答

星辰Iron

2018-01-09

你好同学,老师是通过type和str两个字段来判断用户名email是否已经存在,个人也觉得这个判断有点小问题,因为从前面传过来的参数Const.USERNAMEConst.EMAIL不是空的,而if语句的判断就一直是true了。( ̄▽ ̄)/

public ServerResponse<String> register(User user){
    ServerResponse validResponse = this.checkValid(user.getUsername(),Const.USERNAME);
    if(!validResponse.isSuccess()){
        return validResponse;
    }
    validResponse = this.checkValid(user.getEmail(),Const.EMAIL);
    if(!validResponse.isSuccess()){
        return validResponse;
    }
    user.setRole(Const.Role.ROLE_CUSTOMER);
    //MD5加密
    user.setPassword(MD5Util.MD5EncodeUtf8(user.getPassword()));
    int resultCount = userMapper.insert(user);
    if(resultCount == 0){
        return ServerResponse.createByErrorMessage("注册失败");
    }
    return ServerResponse.createBySuccessMessage("注册成功");
}
public ServerResponse<String> checkValid(String str,String type){
    if(org.apache.commons.lang3.StringUtils.isNotBlank(type)){
        //开始校验
        if(Const.USERNAME.equals(type)){
            int resultCount = userMapper.checkUsername(str);
            if(resultCount > 0 ){
                return ServerResponse.createByErrorMessage("用户名已存在");
            }
        }
        if(Const.EMAIL.equals(type)){
            int resultCount = userMapper.checkEmail(str);
            if(resultCount > 0 ){
                return ServerResponse.createByErrorMessage("email已存在");
            }
        }
    }else{
        return ServerResponse.createByErrorMessage("参数错误");
    }
    return ServerResponse.createBySuccessMessage("校验成功");
}


2
2
Geely
回复
慕粉121948417
赞@星辰_兼信 回答的很棒, 同学记得采纳他的答案呀
2018-01-09
共2条回复

跳动的数字

2018-03-26

我觉得对type的判断是判断前端页面当前点选的输入框为username还是email,但是这段代码对用用户输入的username和email的内容没有判断是否为空格和null,可以这样理解吗?

0
0

从0开始 独立完成企业级Java电商网站服务端开发

前后端分离,数据库接口设计,架构设计,功能开发,上线运维

9476 学习 · 8804 问题

查看课程