Skip to content

Commit caa5408

Browse files
authored
Merge pull request #1963 from NishkalankBezawada/feature/Issue-1655
🐛 - Fix 1655- Dynamic form should not display any validation errors until the user clicks Save/Submit, or leaves the focus of a required control - (Repo Rescuer Challenge)
2 parents 84dd985 + 001775a commit caa5408

1 file changed

Lines changed: 18 additions & 11 deletions

File tree

src/controls/dynamicForm/dynamicField/DynamicField.tsx

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -644,15 +644,18 @@ export class DynamicField extends React.Component<IDynamicFieldProps, IDynamicFi
644644
const {
645645
changedValue
646646
} = 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;
647+
const { value, newValue, required,listItemId } = this.props;
648+
649+
if (listItemId !== undefined && listItemId !== null) {
650+
if (newValue === undefined) {
651+
return required && (changedValue === undefined || changedValue === '' || changedValue === null || this.isEmptyArray(changedValue))
652+
&& (value === undefined || value === '' || value === null || this.isEmptyArray(value)) ? strings.DynamicFormRequiredErrorMessage : null;
653+
} else {
654+
return required && (changedValue === undefined || changedValue === '' || changedValue === null || this.isEmptyArray(changedValue)) ? strings.DynamicFormRequiredErrorMessage : null;
655+
}
654656
}
655-
657+
658+
return null;
656659
}
657660

658661
private getNumberErrorText = (): string => {
@@ -667,17 +670,21 @@ export class DynamicField extends React.Component<IDynamicFieldProps, IDynamicFi
667670
showAsPercentage,
668671
value,
669672
newValue,
670-
required
673+
required,
674+
listItemId
671675
} = this.props;
672676

673677
if (required && newValue!==undefined && (changedValue === undefined || changedValue === '' || changedValue === null || this.isEmptyArray(changedValue)) ) {
674678
return strings.DynamicFormRequiredErrorMessage;
675679
}
676680

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;
681+
if(listItemId !== undefined && listItemId !== null){
682+
if (required && newValue===undefined && (value === undefined || value === '' || value === null || this.isEmptyArray(value)) && (changedValue === undefined || changedValue === '' || changedValue === null || this.isEmptyArray(changedValue)) ) {
683+
return strings.DynamicFormRequiredErrorMessage;
684+
}
679685
}
680686

687+
681688
let minValue = minimumValue !== undefined && minimumValue !== -(Number.MAX_VALUE) ? minimumValue : undefined;
682689
let maxValue = maximumValue !== undefined && maximumValue !== Number.MAX_VALUE ? maximumValue : undefined;
683690

0 commit comments

Comments
 (0)