java - 用户输入验证java类

标签 java validation class

这是我对用户ID号的验证,测试时,我输入了长度小于10的无效字符串,它设置了输入并且不执行else语句。

源代码:

private String phoneNum;

public personalInfo(String phNum) {
    setPhoneNum(phNum);
}

public String getPhoneNum() {
    return phoneNum;
}

public void setPhoneNum(String phNum) {
    if (phoneNum.startsWith("05")&&(phoneNum.length()==10)){
        phoneNum = phNum;
    }
    else throw new IllegalArgumentException ("Invalid Phone Number!");
}

最佳答案

你的方法看起来像这样......

public void setPhoneNum(String phNum) {
    if (phoneNum.startsWith("05")&&(phoneNum.length()==10)){
        phoneNum = phNum;
    }

您没有验证参数,而是验证变量phoneNum...

改为:

public void setPhoneNum(String phNum) {
    if (phNum.startsWith("05")&&(phNum.length()==10)){
        phoneNum = phNum;
    }

关于java - 用户输入验证java类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36796310/

相关文章:

asp.net - 服务器端 XForms 表单验证和集成到 ASP.NET

ios - 核心数据替代方案

objective-c - 使用-mutableCopyWithZone : on custom class makes it immutable

python - 为什么 python exec Define class 不起作用

java - acm java Libraries(GraphicsProgram); 中 getElementAt(double x, double y) 的 java 等价物是什么?

java - 如何从我的 validator 类中消除所有 "if"语句

java - 域对象到持久实体的转换

java - Spring Boot 中的完整验证测试,注入(inject)失败

Java JNI : How to load library multiple times?

java - 如何使用Netbeans单步执行程序?