Skip to content

Commit

Permalink
fix(ui): add validation to hostname/IP fields (#1206)
Browse files Browse the repository at this point in the history
  • Loading branch information
TheCatLady committed Mar 18, 2021
1 parent eb6807b commit f49a024
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 14 deletions.
10 changes: 7 additions & 3 deletions src/components/Settings/Notifications/NotificationsEmail.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,13 @@ const NotificationsEmail: React.FC = () => {
emailFrom: Yup.string()
.required(intl.formatMessage(messages.validationEmail))
.email(intl.formatMessage(messages.validationEmail)),
smtpHost: Yup.string().required(
intl.formatMessage(messages.validationSmtpHostRequired)
),
smtpHost: Yup.string()
.required(intl.formatMessage(messages.validationSmtpHostRequired))
.matches(
// eslint-disable-next-line
/^(([a-z]|\d|_|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*)?([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])$/i,
intl.formatMessage(messages.validationSmtpHostRequired)
),
smtpPort: Yup.number().required(
intl.formatMessage(messages.validationSmtpPortRequired)
),
Expand Down
17 changes: 13 additions & 4 deletions src/components/Settings/RadarrModal/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -91,9 +91,13 @@ const RadarrModal: React.FC<RadarrModalProps> = ({
name: Yup.string().required(
intl.formatMessage(messages.validationNameRequired)
),
hostname: Yup.string().required(
intl.formatMessage(messages.validationHostnameRequired)
),
hostname: Yup.string()
.required(intl.formatMessage(messages.validationHostnameRequired))
.matches(
// eslint-disable-next-line
/^(([a-z]|\d|_|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*)?([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])$/i,
intl.formatMessage(messages.validationHostnameRequired)
),
port: Yup.number().required(
intl.formatMessage(messages.validationPortRequired)
),
Expand Down Expand Up @@ -312,7 +316,12 @@ const RadarrModal: React.FC<RadarrModalProps> = ({
}
}}
secondaryDisabled={
!values.apiKey || !values.hostname || !values.port || isTesting
!values.apiKey ||
!values.hostname ||
!values.port ||
isTesting ||
isSubmitting ||
!isValid
}
okDisabled={!isValidated || isSubmitting || isTesting || !isValid}
onOk={() => handleSubmit()}
Expand Down
10 changes: 7 additions & 3 deletions src/components/Settings/SettingsPlex.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -113,9 +113,13 @@ const SettingsPlex: React.FC<SettingsPlexProps> = ({ onComplete }) => {
const intl = useIntl();
const { addToast, removeToast } = useToasts();
const PlexSettingsSchema = Yup.object().shape({
hostname: Yup.string().required(
intl.formatMessage(messages.validationHostnameRequired)
),
hostname: Yup.string()
.required(intl.formatMessage(messages.validationHostnameRequired))
.matches(
// eslint-disable-next-line
/^(([a-z]|\d|_|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*)?([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])$/i,
intl.formatMessage(messages.validationHostnameRequired)
),
port: Yup.number().required(
intl.formatMessage(messages.validationPortRequired)
),
Expand Down
17 changes: 13 additions & 4 deletions src/components/Settings/SonarrModal/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -102,9 +102,13 @@ const SonarrModal: React.FC<SonarrModalProps> = ({
name: Yup.string().required(
intl.formatMessage(messages.validationNameRequired)
),
hostname: Yup.string().required(
intl.formatMessage(messages.validationHostnameRequired)
),
hostname: Yup.string()
.required(intl.formatMessage(messages.validationHostnameRequired))
.matches(
// eslint-disable-next-line
/^(([a-z]|\d|_|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*)?([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])$/i,
intl.formatMessage(messages.validationHostnameRequired)
),
port: Yup.number().required(
intl.formatMessage(messages.validationPortRequired)
),
Expand Down Expand Up @@ -341,7 +345,12 @@ const SonarrModal: React.FC<SonarrModalProps> = ({
}
}}
secondaryDisabled={
!values.apiKey || !values.hostname || !values.port || isTesting
!values.apiKey ||
!values.hostname ||
!values.port ||
isTesting ||
isSubmitting ||
!isValid
}
okDisabled={!isValidated || isSubmitting || isTesting || !isValid}
onOk={() => handleSubmit()}
Expand Down

0 comments on commit f49a024

Please sign in to comment.