Skip to content

Commit

Permalink
[frontend] Yup trim before validation for required string (#6698)
Browse files Browse the repository at this point in the history
  • Loading branch information
lndrtrbn committed Apr 17, 2024
1 parent 6d56673 commit e37f6e7
Show file tree
Hide file tree
Showing 77 changed files with 97 additions and 96 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -95,9 +95,9 @@ export const GroupingCreationForm: FunctionComponent<GroupingFormProps> = ({
const navigate = useNavigate();
const [mapAfter, setMapAfter] = useState<boolean>(false);
const basicShape = {
name: Yup.string().min(2).required(t_i18n('This field is required')),
name: Yup.string().trim().min(2).required(t_i18n('This field is required')),
confidence: Yup.number().nullable(),
context: Yup.string().required(t_i18n('This field is required')),
context: Yup.string().trim().required(t_i18n('This field is required')),
description: Yup.string().nullable(),
content: Yup.string().nullable(),
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,9 +85,9 @@ const GroupingEditionOverviewComponent = (props) => {
const { t_i18n } = useFormatter();

const basicShape = {
name: Yup.string().min(2).required(t_i18n('This field is required')),
name: Yup.string().trim().min(2).required(t_i18n('This field is required')),
confidence: Yup.number().nullable(),
context: Yup.string().required(t_i18n('This field is required')),
context: Yup.string().trim().required(t_i18n('This field is required')),
description: Yup.string().nullable(),
references: Yup.array(),
x_opencti_workflow_id: Yup.object(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ export const NoteCreationForm: FunctionComponent<NoteFormProps> = ({
.typeError(t_i18n('The value must be a datetime (yyyy-MM-dd hh:mm (a|p)m)'))
.required(t_i18n('This field is required')),
attribute_abstract: Yup.string().nullable(),
content: Yup.string().min(2).required(t_i18n('This field is required')),
content: Yup.string().trim().min(2).required(t_i18n('This field is required')),
confidence: Yup.number().nullable(),
note_types: Yup.array().nullable(),
likelihood: Yup.number().min(0).max(100),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ NoteEditionOverviewProps

const userIsKnowledgeEditor = useGranted([KNOWLEDGE_KNUPDATE]);
const basicShape = {
content: Yup.string().min(2).required(t_i18n('This field is required')),
content: Yup.string().trim().min(2).required(t_i18n('This field is required')),
created: Yup.date()
.typeError(t_i18n('The value must be a datetime (yyyy-MM-dd hh:mm (a|p)m)'))
.required(t_i18n('This field is required')),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ StixCoreObjectOrStixCoreRelationshipNotesCardsProps
const { t_i18n } = useFormatter();
const classes = useStyles();
const basicShape = {
content: Yup.string().min(2).required(t_i18n('This field is required')),
content: Yup.string().trim().min(2).required(t_i18n('This field is required')),
attribute_abstract: Yup.string().nullable(),
confidence: Yup.number(),
note_types: Yup.array(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ export const ReportCreationForm: FunctionComponent<ReportFormProps> = ({
const navigate = useNavigate();
const [mapAfter, setMapAfter] = useState<boolean>(false);
const basicShape = {
name: Yup.string().min(2, t_i18n('Name must be at least 2 characters')).required(t_i18n('This field is required')),
name: Yup.string().trim().min(2, t_i18n('Name must be at least 2 characters')).required(t_i18n('This field is required')),
published: Yup.date()
.typeError(t_i18n('The value must be a datetime (yyyy-MM-dd hh:mm (a|p)m)'))
.required(t_i18n('This field is required')),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ const ReportEditionOverviewComponent = (props) => {
const { t_i18n } = useFormatter();

const basicShape = {
name: Yup.string().min(2).required(t_i18n('This field is required')),
name: Yup.string().trim().min(2).required(t_i18n('This field is required')),
published: Yup.date()
.typeError(t_i18n('The value must be a datetime (yyyy-MM-dd hh:mm (a|p)m)'))
.required(t_i18n('This field is required')),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ export const ChannelCreationForm: FunctionComponent<ChannelFormProps> = ({
const classes = useStyles();
const { t_i18n } = useFormatter();
const basicShape = {
name: Yup.string().min(2).required(t_i18n('This field is required')),
name: Yup.string().trim().min(2).required(t_i18n('This field is required')),
channel_types: Yup.array().nullable(),
description: Yup.string().nullable(),
confidence: Yup.number().nullable(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ const ChannelEditionOverviewComponent = (props) => {
const { t_i18n } = useFormatter();

const basicShape = {
name: Yup.string().min(2).required(t_i18n('This field is required')),
name: Yup.string().trim().min(2).required(t_i18n('This field is required')),
channel_types: Yup.array().nullable(),
description: Yup.string().nullable(),
confidence: Yup.number().nullable(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ export const MalwareCreationForm: FunctionComponent<MalwareFormProps> = ({
const { t_i18n } = useFormatter();
const basicShape = {
name: Yup.string()
.trim()
.min(2)
.required(t_i18n('This field is required')),
is_family: Yup.boolean()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ const MalwareEditionOverviewComponent = (props) => {
const { t_i18n } = useFormatter();

const basicShape = {
name: Yup.string().min(2).required(t_i18n('This field is required')),
name: Yup.string().trim().min(2).required(t_i18n('This field is required')),
is_family: Yup.boolean().required(t_i18n('This field is required')),
malware_types: Yup.array().nullable(),
confidence: Yup.number().nullable(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ export const ToolCreationForm: FunctionComponent<ToolFormProps> = ({
const classes = useStyles();
const { t_i18n } = useFormatter();
const basicShape = {
name: Yup.string().min(2).required(t_i18n('This field is required')),
name: Yup.string().trim().min(2).required(t_i18n('This field is required')),
description: Yup.string().nullable(),
confidence: Yup.number().nullable(),
tool_types: Yup.array().nullable(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ const ToolEditionOverviewComponent = (props) => {
const { t_i18n } = useFormatter();

const basicShape = {
name: Yup.string().min(2).required(t_i18n('This field is required')),
name: Yup.string().trim().min(2).required(t_i18n('This field is required')),
description: Yup.string().nullable(),
confidence: Yup.number().nullable(),
tool_types: Yup.array().nullable(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ const VulnerabilityEditionOverviewComponent = (props) => {
const { t_i18n } = useFormatter();

const basicShape = {
name: Yup.string().min(2).required(t_i18n('This field is required')),
name: Yup.string().trim().min(2).required(t_i18n('This field is required')),
description: Yup.string().nullable(),
confidence: Yup.number().nullable(),
references: Yup.array(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ export const CaseIncidentCreationForm: FunctionComponent<IncidentFormProps> = ({
const navigate = useNavigate();
const [mapAfter, setMapAfter] = useState<boolean>(false);
const basicShape = {
name: Yup.string().min(2).required(t_i18n('This field is required')),
name: Yup.string().trim().min(2).required(t_i18n('This field is required')),
description: Yup.string().nullable(),
content: Yup.string().nullable(),
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ const CaseIncidentEditionOverview: FunctionComponent<CaseIncidentEditionOverview
const caseData = useFragment(caseIncidentEditionOverviewFragment, caseRef);

const basicShape = {
name: Yup.string().min(2).required(t_i18n('This field is required')),
name: Yup.string().trim().min(2).required(t_i18n('This field is required')),
severity: Yup.string().nullable(),
priority: Yup.string().nullable(),
response_types: Yup.array(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ export const CaseRfiCreationForm: FunctionComponent<CaseRfiFormProps> = ({
const navigate = useNavigate();
const [mapAfter, setMapAfter] = useState<boolean>(false);
const basicShape = {
name: Yup.string().min(2).required(t_i18n('This field is required')),
name: Yup.string().trim().min(2).required(t_i18n('This field is required')),
description: Yup.string().nullable(),
};
const caseRfiValidator = useSchemaCreationValidation(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ const CaseRfiEditionOverview: FunctionComponent<CaseRfiEditionOverviewProps> = (
const caseData = useFragment(caseRfiEditionOverviewFragment, caseRef);

const basicShape = {
name: Yup.string().min(2).required(t_i18n('This field is required')),
name: Yup.string().trim().min(2).required(t_i18n('This field is required')),
description: Yup.string().nullable(),
information_types: Yup.array().nullable(),
severity: Yup.string().nullable(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ export const CaseRftCreationForm: FunctionComponent<CaseRftFormProps> = ({
const navigate = useNavigate();
const [mapAfter, setMapAfter] = useState<boolean>(false);
const basicShape = {
name: Yup.string().min(2).required(t_i18n('This field is required')),
name: Yup.string().trim().min(2).required(t_i18n('This field is required')),
description: Yup.string().nullable(),
content: Yup.string().nullable(),
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ const CaseRftEditionOverview: FunctionComponent<CaseRftEditionOverviewProps> = (
const caseData = useFragment(caseRftEditionOverviewFragment, caseRef);

const basicShape = {
name: Yup.string().min(2).required(t_i18n('This field is required')),
name: Yup.string().trim().min(2).required(t_i18n('This field is required')),
description: Yup.string().nullable(),
takedown_types: Yup.array().nullable(),
severity: Yup.string().nullable(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ FeedbackEditionOverviewProps
const feedbackData = useFragment(feedbackEditionOverviewFragment, feedbackRef);

const basicShape = {
name: Yup.string().min(2).required(t_i18n('This field is required')),
name: Yup.string().trim().min(2).required(t_i18n('This field is required')),
description: Yup.string().nullable(),
x_opencti_workflow_id: Yup.object(),
rating: Yup.number(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ const CaseTaskCreation: FunctionComponent<CaseTaskCreationProps> = ({
const classes = useStyles();

const basicShape = {
name: Yup.string().min(2).required(t_i18n('This field is required')),
name: Yup.string().trim().min(2).required(t_i18n('This field is required')),
description: Yup.string().nullable().max(5000, t_i18n('The value is too long')),
due_date: Yup.date().nullable(),
objectLabel: Yup.array(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ const TaskCreationForm: FunctionComponent<TaskCreationProps> = ({
const classes = useStyles();

const basicShape = {
name: Yup.string().min(2).required(t_i18n('This field is required')),
name: Yup.string().trim().min(2).required(t_i18n('This field is required')),
description: Yup.string().nullable().max(5000, t_i18n('The value is too long')),
due_date: Yup.date().nullable(),
objectLabel: Yup.array(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ const TasksEditionOverview: FunctionComponent<TasksEditionOverviewProps> = ({
const taskData = useFragment(tasksEditionOverviewFragment, taskRef);

const basicShape = {
name: Yup.string().min(2).required(t_i18n('This field is required')),
name: Yup.string().trim().min(2).required(t_i18n('This field is required')),
description: Yup.string().nullable(),
x_opencti_workflow_id: Yup.object().nullable(),
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,18 +111,18 @@ export const scopesConn = (exportConnectors) => {
};

const exportValidation = (t) => Yup.object().shape({
format: Yup.string().required(t('This field is required')),
type: Yup.string().required(t('This field is required')),
format: Yup.string().trim().required(t('This field is required')),
type: Yup.string().trim().required(t('This field is required')),
});

const importValidation = (t, configurations) => {
const shape = {
connector_id: Yup.string().required(t('This field is required')),
connector_id: Yup.string().trim().required(t('This field is required')),
};
if (configurations) {
return Yup.object().shape({
...shape,
configuration: Yup.string().required(t('This field is required')),
configuration: Yup.string().trim().required(t('This field is required')),
});
}
return Yup.object().shape(shape);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ const freeTextUploaderEntityMutation = graphql`
`;

const freeTextValidation = (t) => Yup.object().shape({
content: Yup.string().required(t('This field is required')),
content: Yup.string().trim().required(t('This field is required')),
});

class FreeTextUploader extends Component {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ const workbenchFileContentMutation = graphql`
`;

const importValidation = (t) => Yup.object().shape({
connector_id: Yup.string().required(t('This field is required')),
connector_id: Yup.string().trim().required(t('This field is required')),
});

const WorkbenchFileContentComponent = ({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ const workbenchFileCreatorMutation = graphql`
`;

const fileValidation = (t: (value: string) => string) => Yup.object().shape({
name: Yup.string().required(t('This field is required')),
name: Yup.string().trim().required(t('This field is required')),
});

interface WorkbenchFileCreatorFormValues {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,12 +57,12 @@ const formikSchema = Yup.object().shape({
applyAccesses: Yup.boolean(),
newAccessMember: Yup.object()
.shape({
value: Yup.string().required(),
label: Yup.string().required(),
type: Yup.string().required(),
value: Yup.string().trim().required(),
label: Yup.string().trim().required(),
type: Yup.string().trim().required(),
})
.required(''),
newAccessRight: Yup.string().required(''),
newAccessRight: Yup.string().trim().required(''),
});

const AuthorizedMembersField = ({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,8 @@ const identityMutation = graphql`
`;

const identityValidation = (t) => Yup.object().shape({
name: Yup.string().required(t('This field is required')),
type: Yup.string().required(t('This field is required')),
name: Yup.string().trim().required(t('This field is required')),
type: Yup.string().trim().required(t('This field is required')),
});

class IdentityCreation extends Component {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,9 @@ const locations = [
];

const locationValidation = (t: (name: string | object) => string) => Yup.object().shape({
name: Yup.string().required(t('This field is required')),
name: Yup.string().trim().required(t('This field is required')),
description: Yup.string().nullable(),
type: Yup.string().required(t('This field is required')),
type: Yup.string().trim().required(t('This field is required')),
});

const LocationCreationForm: FunctionComponent<LocationCreationFormProps> = ({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ const stixCoreObjectFileExportQuery = graphql`
`;

const exportValidation = (t: (arg: string) => string) => Yup.object().shape({
format: Yup.string().required(t('This field is required')),
format: Yup.string().trim().required(t('This field is required')),
});
interface StixCoreObjectFileExportComponentProps {
queryRef: PreloadedQuery<StixCoreObjectFileExportQuery>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,18 +114,18 @@ export const scopesConn = (exportConnectors) => {
};

const exportValidation = (t) => Yup.object().shape({
format: Yup.string().required(t('This field is required')),
type: Yup.string().required(t('This field is required')),
format: Yup.string().trim().required(t('This field is required')),
type: Yup.string().trim().required(t('This field is required')),
});

const importValidation = (t, configurations) => {
const shape = {
connector_id: Yup.string().required(t('This field is required')),
connector_id: Yup.string().trim().required(t('This field is required')),
};
if (configurations) {
return Yup.object().shape({
...shape,
configuration: Yup.string().required(t('This field is required')),
configuration: Yup.string().trim().required(t('This field is required')),
});
}
return Yup.object().shape(shape);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ StixCoreObjectQuickSubscriptionContentProps
};

const liveTriggerValidation = () => Yup.object().shape({
name: Yup.string().required(t_i18n('This field is required')),
name: Yup.string().trim().required(t_i18n('This field is required')),
description: Yup.string().nullable(),
event_types: Yup.array()
.min(1, t_i18n('Minimum one event type'))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ export const StixCoreObjectsExportCreationMutation = graphql`
`;

const exportValidation = (t) => Yup.object().shape({
format: Yup.string().required(t('This field is required')),
format: Yup.string().trim().required(t('This field is required')),
});

export const scopesConn = (exportConnectors) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,9 @@ const useStyles = makeStyles<Theme>((theme) => ({
}));

const csvMapperValidation = (t_i18n: (s: string) => string) => Yup.object().shape({
name: Yup.string().required(t_i18n('This field is required')),
name: Yup.string().trim().required(t_i18n('This field is required')),
has_header: Yup.boolean().required(t_i18n('This field is required')),
separator: Yup.string().required(t_i18n('This field is required')),
separator: Yup.string().trim().required(t_i18n('This field is required')),
skipLineChar: Yup.string().max(1),
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ const useStyles = makeStyles((theme) => ({
}));

const addComponentValidation = (t) => Yup.object().shape({
name: Yup.string().required(t('This field is required')),
name: Yup.string().trim().required(t('This field is required')),
});

const PlaybookAddComponentsContent = ({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,10 @@ const syncMutationFieldPatch = graphql`
`;

const syncValidation = (t) => Yup.object().shape({
name: Yup.string().required(t('This field is required')),
uri: Yup.string().required(t('This field is required')),
name: Yup.string().trim().required(t('This field is required')),
uri: Yup.string().trim().required(t('This field is required')),
token: Yup.string(),
stream_id: Yup.string().required(t('This field is required')),
stream_id: Yup.string().trim().required(t('This field is required')),
current_state_date: Yup.date()
.nullable()
.typeError(t('The value must be a datetime (yyyy-MM-dd hh:mm (a|p)m)')),
Expand Down

0 comments on commit e37f6e7

Please sign in to comment.