@@ -32,7 +32,8 @@ export class DynamicField extends React.Component<IDynamicFieldProps, IDynamicFi
3232 spfxContext : { pageContext : this . props . context . pageContext }
3333 } ) ;
3434 this . state = {
35- changedValue : props . defaultValue !== undefined || props . defaultValue !== '' || props . defaultValue !== null || ! this . isEmptyArray ( props . defaultValue ) ? props . defaultValue : null
35+ changedValue : props . defaultValue !== undefined || props . defaultValue !== '' || props . defaultValue !== null || ! this . isEmptyArray ( props . defaultValue ) ? props . defaultValue : null ,
36+ listItemId : props . listItemId
3637 } ;
3738 }
3839
@@ -642,22 +643,27 @@ export class DynamicField extends React.Component<IDynamicFieldProps, IDynamicFi
642643
643644 private getRequiredErrorText = ( ) : string => {
644645 const {
645- changedValue
646+ changedValue,
647+ listItemId
646648 } = this . state ;
647- const { value, newValue, required} = this . props ;
648- if ( newValue === undefined ) {
649- return required && ( changedValue === undefined || changedValue === '' || changedValue === null || this . isEmptyArray ( changedValue ) )
650- && ( value === undefined || value === '' || value === null || this . isEmptyArray ( value ) ) ? strings . DynamicFormRequiredErrorMessage : null ;
651- }
652- else {
653- return required && ( changedValue === undefined || changedValue === '' || changedValue === null || this . isEmptyArray ( changedValue ) ) ? strings . DynamicFormRequiredErrorMessage : null ;
649+ const { value, newValue, required } = this . props ;
650+
651+ if ( listItemId !== undefined && listItemId !== '' && listItemId !== null ) {
652+ if ( newValue === undefined ) {
653+ return required && ( changedValue === undefined || changedValue === '' || changedValue === null || this . isEmptyArray ( changedValue ) )
654+ && ( value === undefined || value === '' || value === null || this . isEmptyArray ( value ) ) ? strings . DynamicFormRequiredErrorMessage : null ;
655+ } else {
656+ return required && ( changedValue === undefined || changedValue === '' || changedValue === null || this . isEmptyArray ( changedValue ) ) ? strings . DynamicFormRequiredErrorMessage : null ;
657+ }
654658 }
655-
659+
660+ return null ;
656661 }
657662
658663 private getNumberErrorText = ( ) : string => {
659664 const {
660- changedValue
665+ changedValue,
666+ listItemId
661667 } = this . state ;
662668 const {
663669 cultureName,
@@ -674,10 +680,13 @@ export class DynamicField extends React.Component<IDynamicFieldProps, IDynamicFi
674680 return strings . DynamicFormRequiredErrorMessage ;
675681 }
676682
677- if ( required && newValue === undefined && ( value === undefined || value === '' || value === null || this . isEmptyArray ( value ) ) && ( changedValue === undefined || changedValue === '' || changedValue === null || this . isEmptyArray ( changedValue ) ) ) {
678- return strings . DynamicFormRequiredErrorMessage ;
683+ if ( listItemId !== undefined && listItemId !== '' && listItemId !== null ) {
684+ if ( required && newValue === undefined && ( value === undefined || value === '' || value === null || this . isEmptyArray ( value ) ) && ( changedValue === undefined || changedValue === '' || changedValue === null || this . isEmptyArray ( changedValue ) ) ) {
685+ return strings . DynamicFormRequiredErrorMessage ;
686+ }
679687 }
680688
689+
681690 let minValue = minimumValue !== undefined && minimumValue !== - ( Number . MAX_VALUE ) ? minimumValue : undefined ;
682691 let maxValue = maximumValue !== undefined && maximumValue !== Number . MAX_VALUE ? maximumValue : undefined ;
683692
0 commit comments