@@ -97,26 +97,6 @@ export function getActionType(): ActionTypeModel {
9797 )
9898 ) ;
9999 }
100- if ( ! action . secrets . user ) {
101- errors . user . push (
102- i18n . translate (
103- 'xpack.triggersActionsUI.components.builtinActionTypes.error.requiredUserText' ,
104- {
105- defaultMessage : 'Username is required.' ,
106- }
107- )
108- ) ;
109- }
110- if ( ! action . secrets . password ) {
111- errors . password . push (
112- i18n . translate (
113- 'xpack.triggersActionsUI.components.builtinActionTypes.error.requiredPasswordText' ,
114- {
115- defaultMessage : 'Password is required.' ,
116- }
117- )
118- ) ;
119- }
120100 return validationResult ;
121101 } ,
122102 validateParams : ( actionParams : EmailActionParams ) : ValidationResult => {
@@ -303,7 +283,7 @@ const EmailActionConnectorFields: React.FunctionComponent<ActionConnectorFieldsP
303283 id = "emailUser"
304284 fullWidth
305285 error = { errors . user }
306- isInvalid = { errors . user . length > 0 && user !== undefined }
286+ isInvalid = { errors . user . length > 0 }
307287 label = { i18n . translate (
308288 'xpack.triggersActionsUI.sections.builtinActionTypes.emailAction.userTextFieldLabel' ,
309289 {
@@ -313,17 +293,12 @@ const EmailActionConnectorFields: React.FunctionComponent<ActionConnectorFieldsP
313293 >
314294 < EuiFieldText
315295 fullWidth
316- isInvalid = { errors . user . length > 0 && user !== undefined }
296+ isInvalid = { errors . user . length > 0 }
317297 name = "user"
318298 value = { user || '' }
319299 data-test-subj = "emailUserInput"
320300 onChange = { e => {
321- editActionSecrets ( 'user' , e . target . value ) ;
322- } }
323- onBlur = { ( ) => {
324- if ( ! user ) {
325- editActionSecrets ( 'user' , '' ) ;
326- }
301+ editActionSecrets ( 'user' , nullableString ( e . target . value ) ) ;
327302 } }
328303 />
329304 </ EuiFormRow >
@@ -333,7 +308,7 @@ const EmailActionConnectorFields: React.FunctionComponent<ActionConnectorFieldsP
333308 id = "emailPassword"
334309 fullWidth
335310 error = { errors . password }
336- isInvalid = { errors . password . length > 0 && password !== undefined }
311+ isInvalid = { errors . password . length > 0 }
337312 label = { i18n . translate (
338313 'xpack.triggersActionsUI.sections.builtinActionTypes.emailAction.passwordFieldLabel' ,
339314 {
@@ -343,17 +318,12 @@ const EmailActionConnectorFields: React.FunctionComponent<ActionConnectorFieldsP
343318 >
344319 < EuiFieldPassword
345320 fullWidth
346- isInvalid = { errors . password . length > 0 && password !== undefined }
321+ isInvalid = { errors . password . length > 0 }
347322 name = "password"
348323 value = { password || '' }
349324 data-test-subj = "emailPasswordInput"
350325 onChange = { e => {
351- editActionSecrets ( 'password' , e . target . value ) ;
352- } }
353- onBlur = { ( ) => {
354- if ( ! password ) {
355- editActionSecrets ( 'password' , '' ) ;
356- }
326+ editActionSecrets ( 'password' , nullableString ( e . target . value ) ) ;
357327 } }
358328 />
359329 </ EuiFormRow >
@@ -624,3 +594,9 @@ const EmailParamsFields: React.FunctionComponent<ActionParamsProps<EmailActionPa
624594 </ Fragment >
625595 ) ;
626596} ;
597+
598+ // if the string == null or is empty, return null, else return string
599+ function nullableString ( str : string | null | undefined ) {
600+ if ( str == null || str . trim ( ) === '' ) return null ;
601+ return str ;
602+ }
0 commit comments