Skip to content

Commit f280c74

Browse files
committed
clean readme file
1 parent 9adb57b commit f280c74

File tree

5 files changed

+38
-29
lines changed

5 files changed

+38
-29
lines changed

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -122,9 +122,9 @@ hikari.dataSource.password="ENC({output})"
122122
~~~
123123

124124
### Jobs Run Tool
125-
1 - define class implement Runnable in order to execute job base on schedule
126-
2 - define bean (AlertServiceJob) in BeanConfig class for your jobs
127-
3 - define trigger time in properties ```(ex: app.jobs.alertServiceJob=0 */1 * ? * *)``` file
128-
4 - @EnableScheduling on SpringApp
125+
1) define class implement Runnable in order to execute job base on schedule
126+
2) define bean (AlertServiceJob) in BeanConfig class for your jobs
127+
3) define trigger time in properties ```(ex: app.jobs.alertServiceJob=0 */1 * ? * *)``` file
128+
4) @EnableScheduling on SpringApp
129129

130130
notice: that name of bean in BeanConfig must be equal with name of key in properties file.

src/main/java/ir/bigz/springbootreal/validation/ValidationHandler.java

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import org.springframework.stereotype.Component;
55

66
import java.util.List;
7+
import java.util.Objects;
78

89
@Component
910
public class ValidationHandler {
@@ -14,22 +15,31 @@ public ValidationHandler(@Qualifier("ValidationUtilsImpl") ValidationUtils valid
1415
this.validationUtils = validationUtils;
1516
}
1617

17-
public boolean apply(ValidationType validation, List<String> allowed, Object value) {
18+
public boolean apply(ValidationType validation, List<String> allowed, Object value, boolean nullOption) {
1819

1920
boolean pass = false;
20-
switch (validation) {
21-
case EMAIL:
22-
pass = validationUtils.isEmailValid(value.toString());
23-
break;
24-
case GENDER:
25-
pass = validationUtils.isGenderValid(value.toString(), allowed);
26-
break;
27-
case NATIONAL_CODE:
28-
pass = validationUtils.isNationalCodeValid(value.toString());
29-
break;
30-
case MOBILE:
31-
pass = validationUtils.isMobileValid(value.toString());
32-
break;
21+
22+
if(nullOption && Objects.isNull(value)){
23+
return true;
24+
}
25+
else if(!nullOption && Objects.isNull(value)){
26+
return false;
27+
}
28+
else{
29+
switch (validation) {
30+
case EMAIL:
31+
pass = validationUtils.isEmailValid((String) value);
32+
break;
33+
case GENDER:
34+
pass = validationUtils.isGenderValid((String) value, allowed);
35+
break;
36+
case NATIONAL_CODE:
37+
pass = validationUtils.isNationalCodeValid((String) value);
38+
break;
39+
case MOBILE:
40+
pass = validationUtils.isMobileValid((String) value);
41+
break;
42+
}
3343
}
3444

3545
return pass;

src/main/java/ir/bigz/springbootreal/validation/ValidationValidator.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,18 @@
1212
@Service
1313
public class ValidationValidator implements ConstraintValidator<Validator, String> {
1414

15+
boolean nullOption;
1516
List<String> allowed;
1617
ValidationType validationsType;
17-
1818
private final ValidationHandler validationHandler;
19-
2019
public ValidationValidator(ValidationHandler validationHandler) {
2120
this.validationHandler = validationHandler;
2221
}
2322

2423
@Override
2524
public void initialize(Validator constraintAnnotation) {
2625
validationsType = constraintAnnotation.value();
26+
nullOption = constraintAnnotation.nullOption();
2727
if(constraintAnnotation.allowed().length > 0){
2828
allowed = Arrays.asList(constraintAnnotation.allowed());
2929
}
@@ -38,7 +38,7 @@ else if(validationsType.getDefaultValue().length > 0){
3838
@Override
3939
public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) {
4040

41-
if(!validationHandler.apply(validationsType, allowed, value)){
41+
if(!validationHandler.apply(validationsType, allowed, value, nullOption)){
4242
constraintValidatorContext.disableDefaultConstraintViolation();
4343
constraintValidatorContext.buildConstraintViolationWithTemplate(validationsType.getFailedMessage())
4444
.addConstraintViolation();

src/main/java/ir/bigz/springbootreal/validation/annotation/Validator.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,6 @@
1919
Class<?>[] groups() default {};
2020
Class<? extends Payload>[] payload() default {};
2121
String[] allowed() default {};
22+
boolean nullOption() default false;
2223
ValidationType value();
2324
}

src/main/java/ir/bigz/springbootreal/viewmodel/UserModel.java

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,17 @@ public class UserModel extends BaseModel implements Serializable {
1717
private String userName;
1818

1919
@NotBlank(message = "national code must not blank")
20-
@Validator(ValidationType.NATIONAL_CODE)
20+
@Validator(value = ValidationType.NATIONAL_CODE)
2121
private String nationalCode;
2222

23-
@NotBlank(message = "mobile must not blank")
24-
@Validator(ValidationType.MOBILE)
23+
@Validator(value = ValidationType.MOBILE, nullOption = true)
2524
private String mobile;
2625

27-
@NotBlank(message = "email must not blank")
28-
@Validator(ValidationType.EMAIL)
26+
@Validator(value = ValidationType.EMAIL, nullOption = true)
2927
private String email;
3028

3129
@NotBlank(message = "gender must not blank")
32-
@Validator(ValidationType.GENDER)
30+
@Validator(value = ValidationType.GENDER)
3331
private String gender;
3432

3533
public UserModel() {
@@ -44,8 +42,8 @@ public UserModel(Long id,
4442
@NotBlank(message = "lastName must not blank") String lastName,
4543
@NotBlank(message = "userName must not blank") String userName,
4644
@Validator(ValidationType.NATIONAL_CODE) String nationalCode,
47-
@Validator(ValidationType.MOBILE) String mobile,
48-
@Validator(ValidationType.EMAIL) String email,
45+
@Validator(value = ValidationType.MOBILE, nullOption = true) String mobile,
46+
@Validator(value = ValidationType.EMAIL, nullOption = true) String email,
4947
@Validator(ValidationType.GENDER) String gender) {
5048
super(id, version, insertDate, updateDate, activeStatus);
5149
this.firstName = firstName;

0 commit comments

Comments
 (0)