@@ -3,29 +3,33 @@ import { govRoles, nonGovRoles, roles } from '@/constants/roles'
3
3
import { PHONE_REGEX } from '@/constants/common.js'
4
4
5
5
// Schema for form validation
6
- export const userInfoSchema = Yup . object ( {
7
- firstName : Yup . string ( ) . required ( 'First name is required.' ) ,
8
- lastName : Yup . string ( ) . required ( 'Last name is required.' ) ,
9
- jobTitle : Yup . string ( ) . required ( 'Job title is required.' ) ,
10
- userName : Yup . string ( ) . required ( 'User name is required' ) ,
11
- keycloakEmail : Yup . string ( )
12
- . required ( 'Email address is required.' )
13
- . email ( 'Please enter a valid email address.' ) ,
14
- altEmail : Yup . string ( )
15
- . email ( 'Please enter a valid email address.' )
16
- . optional ( ) ,
17
- phone : Yup . string ( )
18
- . matches ( PHONE_REGEX , 'Phone number is not valid' )
19
- . nullable ( true ) ,
20
- mobilePhone : Yup . string ( )
21
- . matches ( PHONE_REGEX , 'Phone number is not valid' )
22
- . nullable ( true ) ,
23
- status : Yup . string ( ) ,
24
- adminRole : Yup . array ( ) ,
25
- idirRole : Yup . string ( ) ,
26
- bceidRoles : Yup . array ( ) ,
27
- readOnly : Yup . string ( )
28
- } )
6
+ export const userInfoSchema = ( userType ) =>
7
+ Yup . object ( {
8
+ firstName : Yup . string ( ) . required ( 'First name is required.' ) ,
9
+ lastName : Yup . string ( ) . required ( 'Last name is required.' ) ,
10
+ jobTitle :
11
+ userType === 'bceid'
12
+ ? Yup . string ( ) . optional ( )
13
+ : Yup . string ( ) . required ( 'Job title is required.' ) ,
14
+ userName : Yup . string ( ) . required ( 'User name is required' ) ,
15
+ keycloakEmail : Yup . string ( )
16
+ . required ( 'Email address is required.' )
17
+ . email ( 'Please enter a valid email address.' ) ,
18
+ altEmail : Yup . string ( )
19
+ . email ( 'Please enter a valid email address.' )
20
+ . optional ( ) ,
21
+ phone : Yup . string ( )
22
+ . matches ( PHONE_REGEX , 'Phone number is not valid' )
23
+ . nullable ( true ) ,
24
+ mobilePhone : Yup . string ( )
25
+ . matches ( PHONE_REGEX , 'Phone number is not valid' )
26
+ . nullable ( true ) ,
27
+ status : Yup . string ( ) ,
28
+ adminRole : Yup . array ( ) ,
29
+ idirRole : Yup . string ( ) ,
30
+ bceidRoles : Yup . array ( ) ,
31
+ readOnly : Yup . string ( )
32
+ } )
29
33
30
34
export const idirTextFields = ( t ) => [
31
35
{
@@ -70,7 +74,8 @@ export const bceidTextFields = (t) => [
70
74
} ,
71
75
{
72
76
name : 'jobTitle' ,
73
- label : t ( 'admin:userForm.jobTitle' )
77
+ label : t ( 'admin:userForm.jobTitle' ) ,
78
+ optional : true
74
79
} ,
75
80
{
76
81
name : 'userName' ,
0 commit comments