1
0
mirror of https://github.com/ansible/awx.git synced 2024-10-31 15:21:13 +03:00

fix form validation for Organization select in Inventory form

This commit is contained in:
Keith Grant 2019-12-19 14:55:48 -08:00
parent f3c5cb5a2e
commit ecf1d79ca5
3 changed files with 20 additions and 1 deletions

View File

@ -77,6 +77,8 @@ function InventoryForm({
form.setFieldValue('organization', value);
}}
value={field.value}
touched={form.touched.organization}
error={form.errors.organization}
required
/>
)}

View File

@ -1,9 +1,16 @@
import { t } from '@lingui/macro';
export function required(message, i18n) {
const errorMessage = message || i18n._(t`This field must not be blank`);
return value => {
if (typeof value === 'string' && !value.trim()) {
return message || i18n._(t`This field must not be blank`);
return errorMessage;
}
if (typeof value === 'number' && !Number.isNaN(value)) {
return undefined;
}
if (!value) {
return errorMessage;
}
return undefined;
};

View File

@ -27,6 +27,16 @@ describe('validators', () => {
});
});
test('required interprets undefined as empty value', () => {
expect(required(null, i18n)(undefined)).toEqual({
id: 'This field must not be blank',
});
});
test('required interprets 0 as non-empty value', () => {
expect(required(null, i18n)(0)).toBeUndefined();
});
test('maxLength accepts value below max', () => {
expect(maxLength(10, i18n)('snazzy')).toBeUndefined();
});