[Improve]Use hibernate validation framework
Improve email verification method Support domain name verification Email is at least a second-level domain name
This commit is contained in:
parent
2dec94d3b4
commit
555288dbc6
|
|
@ -227,7 +227,10 @@
|
|||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.hibernate.validator</groupId>
|
||||
<artifactId>hibernate-validator</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.powermock</groupId>
|
||||
<artifactId>powermock-module-junit4</artifactId>
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ import org.apache.dolphinscheduler.common.utils.TaskParametersUtils;
|
|||
import org.apache.dolphinscheduler.dao.entity.TaskDefinition;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.hibernate.validator.internal.constraintvalidators.bv.EmailValidator;
|
||||
|
||||
import java.text.MessageFormat;
|
||||
import java.util.HashMap;
|
||||
|
|
@ -59,11 +60,17 @@ public class CheckUtils {
|
|||
* @return true if email regex valid, otherwise return false
|
||||
*/
|
||||
public static boolean checkEmail(String email) {
|
||||
if (StringUtils.isEmpty(email)) {
|
||||
if (StringUtils.isBlank(email)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return email.length() > 5 && email.length() <= 40 && regexChecks(email, Constants.REGEX_MAIL_NAME);
|
||||
EmailValidator emailValidator = new EmailValidator();
|
||||
if (!emailValidator.isValid(email, null)) {
|
||||
return false;
|
||||
}
|
||||
//Email is at least a second-level domain name
|
||||
int indexDomain = email.lastIndexOf("@");
|
||||
String domainString = email.substring(indexDomain);
|
||||
return domainString.contains(".");
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -308,12 +308,7 @@ public final class Constants {
|
|||
* user name regex
|
||||
*/
|
||||
public static final Pattern REGEX_USER_NAME = Pattern.compile("^[a-zA-Z0-9._-]{3,39}$");
|
||||
|
||||
/**
|
||||
* email regex
|
||||
*/
|
||||
public static final Pattern REGEX_MAIL_NAME = Pattern.compile("^([a-z0-9A-Z]+[_|\\-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$");
|
||||
|
||||
|
||||
/**
|
||||
* default display rows
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -405,6 +405,9 @@ The text of each license is also included at licenses/LICENSE-[project].txt.
|
|||
protostuff-collectionschema 1.7.2: https://github.com/protostuff/protostuff/protostuff-collectionschema Apache-2.0
|
||||
prometheus client_java(simpleclient) 0.12.0: https://github.com/prometheus/client_java, Apache 2.0
|
||||
snowflake snowflake-2010: https://github.com/twitter-archive/snowflake/tree/snowflake-2010, Apache 2.0
|
||||
hibernate-validator 6.2.2.Final https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator/6.2.2.Final, Apache 2.0
|
||||
jakarta.validation-api 2.0.2 https://mvnrepository.com/artifact/jakarta.validation/jakarta.validation-api/2.0.2, Apache 2.0
|
||||
jboss-logging:jar 3.4.2.Final https://mvnrepository.com/artifact/org.jboss.logging/jboss-logging/3.4.2.Final, Apache 2.0
|
||||
|
||||
========================================================================
|
||||
BSD licenses
|
||||
|
|
|
|||
9
pom.xml
9
pom.xml
|
|
@ -129,6 +129,7 @@
|
|||
<jacoco.skip>false</jacoco.skip>
|
||||
<netty.version>4.1.53.Final</netty.version>
|
||||
<maven-jar-plugin.version>3.2.0</maven-jar-plugin.version>
|
||||
<hibernate.validator.version>6.2.2.Final</hibernate.validator.version>
|
||||
</properties>
|
||||
|
||||
<dependencyManagement>
|
||||
|
|
@ -819,8 +820,14 @@
|
|||
<artifactId>activation</artifactId>
|
||||
<version>1.1</version>
|
||||
</dependency>
|
||||
<!-- https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator -->
|
||||
<dependency>
|
||||
<groupId>org.hibernate.validator</groupId>
|
||||
<artifactId>hibernate-validator</artifactId>
|
||||
<version>${hibernate.validator.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<dependency>
|
||||
<groupId>com.sun.mail</groupId>
|
||||
<artifactId>javax.mail</artifactId>
|
||||
<version>1.6.2</version>
|
||||
|
|
|
|||
|
|
@ -71,6 +71,7 @@ hadoop-yarn-api-2.7.3.jar
|
|||
hadoop-yarn-client-2.7.3.jar
|
||||
hadoop-yarn-common-2.7.3.jar
|
||||
hadoop-yarn-server-common-2.7.3.jar
|
||||
hibernate-validator-6.2.2.Final.jar
|
||||
hive-common-2.1.0.jar
|
||||
hive-jdbc-2.1.0.jar
|
||||
hive-metastore-2.1.0.jar
|
||||
|
|
@ -96,6 +97,7 @@ jackson-module-parameter-names-2.12.5.jar
|
|||
jackson-xc-1.9.13.jar
|
||||
jakarta.annotation-api-1.3.5.jar
|
||||
jakarta.servlet-api-4.0.4.jar
|
||||
jakarta.validation-api-2.0.2.jar
|
||||
jakarta.websocket-api-1.1.2.jar
|
||||
jamon-runtime-2.3.1.jar
|
||||
java-xmlbuilder-0.4.jar
|
||||
|
|
@ -108,6 +110,7 @@ javax.mail-1.6.2.jar
|
|||
javolution-5.5.1.jar
|
||||
jaxb-api-2.3.1.jar
|
||||
jaxb-impl-2.2.3-1.jar
|
||||
jboss-logging-3.4.2.Final.jar
|
||||
jdo-api-3.0.1.jar
|
||||
jersey-client-1.9.jar
|
||||
jersey-core-1.9.jar
|
||||
|
|
|
|||
Loading…
Reference in New Issue