Skip to content

Commit 1e0ab6c

Browse files
Merge pull request #1221 from HardluckHalvey/master
PeoplePicker validation bugfix
2 parents 87bdb33 + 65d589d commit 1e0ab6c

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

src/controls/peoplepicker/IPeoplePicker.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,10 @@ export interface IPeoplePickerProps {
7272
*
7373
*/
7474
onGetErrorMessage?: (items: IPersonaProps[]) => string | Promise<string>;
75+
/**
76+
* Prop to validate contents on blur
77+
*/
78+
validateOnFocusOut?: boolean;
7579
/**
7680
* Method to check value of People Picker text
7781
*/

src/controls/peoplepicker/PeoplePickerComponent.tsx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,15 @@ export class PeoplePicker extends React.Component<IPeoplePickerProps, IPeoplePic
152152
this.validate(items);
153153
}
154154

155+
/**
156+
* On blur UI event
157+
* @param ev
158+
*/
159+
private onBlur = (ev) => {
160+
if (this.props.validateOnFocusOut)
161+
this.validate(this.state.selectedPersons);
162+
}
163+
155164

156165
/**
157166
* Returns the most recently used person
@@ -185,6 +194,10 @@ export class PeoplePicker extends React.Component<IPeoplePickerProps, IPeoplePic
185194

186195
if (!result) {
187196
this.validated(items);
197+
198+
this.setState({
199+
errorMessage: undefined
200+
});
188201
return;
189202
}
190203

@@ -302,6 +315,7 @@ export class PeoplePicker extends React.Component<IPeoplePickerProps, IPeoplePic
302315
itemLimit={personSelectionLimit || 1}
303316
disabled={disabled || !!internalErrorMessage}
304317
onChange={this.onChange}
318+
onBlur={this.onBlur}
305319
resolveDelay={resolveDelay} />
306320
</div>
307321
);

0 commit comments

Comments
 (0)