gpt4 book ai didi

java - 如何验证 Person 类中的输入

转载 作者:太空宇宙 更新时间:2023-11-04 13:34:38 25 4
gpt4 key购买 nike

  public class Person {
private String name;
private String email;
private String password;

public Person(String name, String email, String password) {
setName(name);
setEmail(email);
setPassword(password);
}

public void setName(String name) {
if (name == null || name.isEmpty()) {
throw new IllegalArgumentException("Invalid name");
}

this.name = name;
}

public void setEmail(String email) {
/* Validate email, throw exception */

this.email = email;
}

public void setPassword(String password) {
/* Validate password, throw exception */

this.password = password;
}

}
  1. 验证电子邮件地址密码(例如 8 个字符、至少一个大写字符、一位数字……)并在必要时引发异常的最佳方法。就像我对 name 所做的那样?

  2. Netbeans 对在构造函数中使用 setter 的提示?如果我不直接分配值(this.name = name),我需要验证输入两次(一次在构造函数中,一次在 setter 中)。

最佳答案

  1. 如果您想正确执行此操作,最好使用库来验证电子邮件地址。相信我,这比你想象的要复杂得多 - 或者只是验证它有一个 @ 和一个 .就这样吧。最好验证您是否可以向其发送电子邮件并通过您提供的链接请求一些验证。 Apache commons 提供了一个类 -

http://commons.apache.org/proper/commons-validator/apidocs/org/apache/commons/validator/routines/EmailValidator.html

密码复杂性验证可以像您想要的那样复杂,并且您自己可以相当轻松地完成此操作。

  • 是 Netbeans 还是 java 提示 - 您收到什么警告?
  • 关于java - 如何验证 Person 类中的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31828827/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com