# Finishing sending flow, unhandled links - Mon, Tues 10th-11th Nov, 2020 Spent most of these last two days finishing off the send recognition flow. The main pain point was around validation: ```typescript= if (data?.recognitionRecipients.results.ineligible.length === 0) { setFieldValue('recipientsEligible', 'eligible') // only touch field when eligible, incorrect validation if you touch when ineligible setTimeout(() => setFieldTouched('recipientsEligible', true)) } if (data && data.recognitionRecipients.results.ineligible.length > 0) { setFieldValue('recipientsEligible', 'ineligible') } ``` Formik and Yup validation brings a lot, but also created headaches here! ### Open all unhandled links in default browser ```typescript= onShouldStartLoadWithRequest={(request) => { const { url } = request const pattern = /^((http|https):\/\/)/ try { if (pattern.test(url) && url.includes('/profile')) { const regexMatch = url.match('/profile/(.*)$') if (regexMatch) { navigateToUserProfile() return false } } else if (pattern.test(url)) { Linking.canOpenURL(url).then((canOpen) => { if (canOpen) { Linking.openURL(url) } }) return false } } catch (error) { // eslint-disable-next-line no-console console.error('Cannot open this url: ', error) return false } return true }} ``` ###### tags: `programmingjournal` `2020` `C+` `validation` `setFieldTouched` `webview` `unhandledlinks`