在AbstractValidator中跳过执行验证规则



在Java中,我创建了一个扩展AbstractValidator<SiteContact>的类,如下所示:

public class MyValidator extends AbstractValidator<MyStudent> {
public CreateSiteContactValidator() {
ruleFor( myStudent -> myStudent.getStudentId() )
.must( getStudentId-> CommonValidatorUtils.isValidUUID(getStudentId) )
.withMessage(" The getStudentIdvalue is invalid ");
ruleFor( myStudent -> myStudent.getGradeId() )
.must( getGradeId -> !Strings.isNullOrEmpty(getGradeId) )
.withMessage(" The getGradeId is invalid ");
ruleFor( myStudent -> myStudent.getEmail() )
.must(CommonValidatorUtils::isEmailValidTemplate)
.withMessage(" The email is invalid value ");
ruleFor(myStudent::getClassId)
.must(CommonValidatorUtils::isValidUUID)
.withMessage(" The getClassId value is invalid. ");
}
}

在某些情况下,我不需要验证classId。执行时有没有办法跳过这个规则?

假设这是FluentValidation,则可以使用条件。

最新更新