Ajuste a nivel de visual e mais alguns updates nas validações do formulário
main
Hugo Oliveira 1 year ago
parent f49210ca32
commit 7a1b3ece79

@ -54,16 +54,6 @@ const initialValues: dados = {
}
// ,
// Menos importante - validação Codigo-Postal e Cidade
/* Updates: Validação de telemovel e definiçaõ default de portugal,
Variavel "nomecartao1" é agora um array,
Definido um link na "Política de Privacidade",
Acrescimo dos país através da API com Portugal a valor default,
*/
function App() {
const steps = ["Dados Pessoais", "Pessoa de Contacto", "Cartões"];
@ -73,21 +63,21 @@ function App() {
const schemaStep1 = yup.object({
empresa: yup.string().required("*Por favor insira um nome válido"),
nif: yup.number().integer(),
nif: yup.string().matches(/^[0-9]+$/, "*Por favor insira um NIF válido").length(9, "*O NIF deve ser composto por 9 dígitos"),
representante: yup.string().required("*Por favor insira um representante válido"),
telemovelDP: yup.string()
.required("*Por favor insira um número de telemóvel válido")
.test('is-valid-phone', '*Por favor insira um número de telemóvel válido', (value) => {
.required(' ')
.test('is-valid-phone', "*Por favor insira um número de telemóvel válido", (value) => {
return matchIsValidTel(value);
}),
emailDP: yup.string()
.email("*Por favor insira um email válido")
.required("*Por favor insira um email válido"),
morada: yup.string(),
andar: yup.number().integer(),
andar: yup.string().matches(/^[0-9]+$/, "*Por favor insira um Andar válido"),
cidade: yup.string(),
pais: yup.string(),
codigoPostal: yup.number().integer()
codigoPostal: yup.string()
});

@ -33,15 +33,14 @@ export const DadosPessoais = ( {formik}: any ) => {
if (!isValid) {
formik.setFieldError('telemovelDP', 'Por favor insira um número de telemóvel válido');
} else {
formik.setFieldError('telemovelDP', ''); // Clear error if valid
formik.setFieldError('telemovelDP', '');
}
};
const [countries, setCountries] = useState<Paises[]>([]);
useEffect(() => {
// Fetch countries data from the API
axios.get<Paises[]>('https://restcountries.com/v3.1/all?fields=name,flags,postalCode')
axios.get<Paises[]>('https://restcountries.com/v3.1/all?fields=name,flags')
.then(response => {
const sortedCountries = response.data.sort((a, b) => a.name.common.localeCompare(b.name.common));
setCountries(sortedCountries);
@ -74,7 +73,7 @@ export const DadosPessoais = ( {formik}: any ) => {
<Grid item xs={12} sm={6}>
<TextField
{...formik.getFieldProps('nif')}
type='number'
type='text'
id="nif"
name="nif"
label="NIF/NIPC"
@ -139,7 +138,7 @@ export const DadosPessoais = ( {formik}: any ) => {
<Grid item xs={12} sm={6}>
<TextField
{...formik.getFieldProps('andar')}
type='number'
type='text'
id="andar"
name="andar"
label="Andar/Nº/Bloco"
@ -170,7 +169,7 @@ export const DadosPessoais = ( {formik}: any ) => {
))}
</Select>
</Grid>
<Grid item xs={12} sm={4}>
<Grid item xs={12} sm={4} sx={{ mt: 0.9 }}>
<TextField
{...formik.getFieldProps('cidade')}
type='text'
@ -181,15 +180,14 @@ export const DadosPessoais = ( {formik}: any ) => {
variant="standard"
/>
</Grid>
<Grid item xs={12} sm={4}>
<Grid item xs={12} sm={4} sx={{ mt: 0.9 }}>
<TextField
{...formik.getFieldProps('codigoPostal')}
type='number'
type='text'
id="codigoPostal"
name="codigoPostal"
label="Código Postal"
fullWidth
autoComplete="shipping country"
variant="standard"
/>
</Grid>

@ -12,7 +12,7 @@ export const PessoaContacto = ( {formik}: any ) => {
if (!isValid) {
formik.setFieldError('telemovelPC', 'Por favor insira um número de telemóvel válido');
} else {
formik.setFieldError('telemovelPC', ''); // Clear error if valid
formik.setFieldError('telemovelPC', '');
}
};

Loading…
Cancel
Save