Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Eclipse Foundation
IT
Websites
membership.eclipse.org
Commits
168918c2
Commit
168918c2
authored
Aug 09, 2021
by
Martin Lowe
🇨🇦
Committed by
Martin Lowe
Aug 18, 2021
Browse files
Update validation logic to trigger certain rules on completion only
parent
82ed1849
Changes
3
Hide whitespace changes
Inline
Side-by-side
src/main/java/org/eclipsefoundation/react/dto/MembershipForm.java
View file @
168918c2
...
...
@@ -31,6 +31,7 @@ import org.eclipsefoundation.persistence.model.DtoTable;
import
org.eclipsefoundation.persistence.model.ParameterizedSQLStatement
;
import
org.eclipsefoundation.persistence.model.ParameterizedSQLStatementBuilder
;
import
org.eclipsefoundation.persistence.model.SortableField
;
import
org.eclipsefoundation.react.dto.ValidationGroups.Completion
;
import
org.eclipsefoundation.react.namespace.FormState
;
import
org.eclipsefoundation.react.namespace.MembershipFormAPIParameterNames
;
import
org.hibernate.annotations.GenericGenerator
;
...
...
@@ -47,7 +48,7 @@ public class MembershipForm extends BareNode implements TargetedClone<Membership
private
String
userID
;
private
String
membershipLevel
;
private
boolean
signingAuthority
;
@NotBlank
(
message
=
"Purchase order state cannot be blank"
)
@NotBlank
(
message
=
"Purchase order state cannot be blank"
,
groups
=
Completion
.
class
)
private
String
purchaseOrderRequired
;
private
String
vatNumber
;
private
String
registrationCountry
;
...
...
src/main/java/org/eclipsefoundation/react/dto/ValidationGroups.java
0 → 100644
View file @
168918c2
package
org.eclipsefoundation.react.dto
;
import
javax.validation.groups.Default
;
/**
* Used to differentiate some validation annotations from default to allow partial states.
*
* @author Martin Lowe
*
*/
public
interface
ValidationGroups
{
interface
Completion
extends
Default
{
}
}
src/main/java/org/eclipsefoundation/react/resources/MembershipFormResource.java
View file @
168918c2
...
...
@@ -42,6 +42,7 @@ import org.eclipsefoundation.react.dto.Contact;
import
org.eclipsefoundation.react.dto.FormOrganization
;
import
org.eclipsefoundation.react.dto.FormWorkingGroup
;
import
org.eclipsefoundation.react.dto.MembershipForm
;
import
org.eclipsefoundation.react.dto.ValidationGroups.Completion
;
import
org.eclipsefoundation.react.model.ConstraintViolationWrapFactory
;
import
org.eclipsefoundation.react.model.ConstraintViolationWrapFactory.ConstraintViolationWrap
;
import
org.eclipsefoundation.react.namespace.FormState
;
...
...
@@ -215,7 +216,7 @@ public class MembershipFormResource extends AbstractRESTResource {
private
<
T
extends
BareNode
>
Set
<
ConstraintViolationWrap
>
recordViolations
(
List
<
T
>
items
)
{
ConstraintViolationWrapFactory
factory
=
new
ConstraintViolationWrapFactory
();
return
items
.
stream
().
flatMap
(
item
->
factory
.
build
(
validator
.
validate
(
item
)).
stream
())
return
items
.
stream
().
flatMap
(
item
->
factory
.
build
(
validator
.
validate
(
item
,
Completion
.
class
)).
stream
())
.
collect
(
Collectors
.
toSet
());
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment