//**DATOS GENERALES DEL SOLICITANTE */ //**Step 1*/ const { makeStyles, } = MaterialUI; const useStyles = makeStyles(theme => ({ container: { display: 'flex', flexWrap: 'wrap', }, textField: { marginLeft: theme.spacing(1), marginRight: theme.spacing(1), width: 200, }, })); function isRequired(value){ return value === "" } function isEmail(value){ const pattern = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; return !pattern.test(value) } function onlyDate(value){ const pattern = /([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))/ return !value || pattern.test(value) } function isPercent(value){ if (value < 0){ return true } return value > 100 } function minLenght(value, min) { debugger var length = null switch (typeof(value)) { case 'number': length = value.toString().length break default: length = value.length break } return length < min } // credits for https://es.stackoverflow.com/a/31040 function validateCurp(curp) { var re = /^([A-Z][AEIOUX][A-Z]{2}\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\d|3[01])[HM](?:AS|B[CS]|C[CLMSH]|D[FG]|G[TR]|HG|JC|M[CNS]|N[ETL]|OC|PL|Q[TR]|S[PLR]|T[CSL]|VZ|YN|ZS)[B-DF-HJ-NP-TV-Z]{3}[A-Z\d])(\d)$/, validado = curp.match(re); if (!validado) //Coincide con el formato general? return false; //Validar que coincida el dígito verificador function digitoVerificador(curp17) { //Fuente https://consultas.curp.gob.mx/CurpSP/ var diccionario = "0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZ", lngSuma = 0.0, lngDigito = 0.0; for(var i=0; i<17; i++) lngSuma = lngSuma + diccionario.indexOf(curp17.charAt(i)) * (18 - i); lngDigito = 10 - lngSuma % 10; if (lngDigito == 10) return 0; return lngDigito; } if (validado[2] != digitoVerificador(validado[1])) return false; return true; //Validado } //credits for https://es.stackoverflow.com/a/31714 function validateRfc(rfc, aceptarGenerico = true) { const re = /^([A-ZÑ&]{3,4}) ?(?:- ?)?(\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\d|3[01])) ?(?:- ?)?([A-Z\d]{2})([A\d])$/; var validado = rfc.match(re); if (!validado) //Coincide con el formato general del regex? return false; //Separar el dígito verificador del resto del RFC const digitoVerificador = validado.pop(), rfcSinDigito = validado.slice(1).join(''), len = rfcSinDigito.length, //Obtener el digito esperado diccionario = "0123456789ABCDEFGHIJKLMN&OPQRSTUVWXYZ Ñ", indice = len + 1; var suma, digitoEsperado; if (len == 12) suma = 0 else suma = 481; //Ajuste para persona moral for(var i=0; i onGeneralChange({...general, father_surname: ev.target.value})} /> onGeneralChange({...general, mother_surname: ev.target.value})} /> onGeneralChange({...general, name: ev.target.value})} required /> onGeneralChange({...general, birthday_date: ev.target.value})} className={classes.textField} InputLabelProps={{ shrink: true, }} required /> onGeneralChange({...general, street: ev.target.value})} required /> onGeneralChange({...general, number: Number(ev.target.value)})} required /> onGeneralChange({...general, settlement_name: ev.target.value})} required /> onGeneralChange({...general, postal_code: ev.target.value})} required /> onGeneralChange({...general, city: ev.target.value})} required /> onGeneralChange({...general, state: ev.target.value})} required /> onGeneralChange({...general, country: ev.target.value})} required /> onGeneralChange({...general, residence: ev.target.value})} required /> Actualmente Labora hasJobHandler(Number(ev.target.value))} > } label="Si" /> } label="No" /> Estado Civil maritalStatusHandler(Number(ev.target.value))} > } label="Casado(a)" /> } label="Soltero(a)" /> } label="Unión libre" /> onGeneralChange({...general, email: ev.target.value})} required /> onGeneralChange({...general, phone_number: ev.target.value})} /> onGeneralChange({...general, cellphone: ev.target.value})} required /> Mi casa es onGeneralChange({...general, home_type: Number(ev.target.value)})} > } label="Propia(a)" /> } label="Renta(a)" /> onGeneralChange({...general, monthly_rent: ev.target.value})} /> onGeneralChange({...general, residency_period: ev.target.value})} required /> rfcHandler(ev.target.value)} required /> curpHandler(ev.target.value)} required /> onGeneralChange({...general, facebook: ev.target.value})} /> onGeneralChange({...general, instagram: ev.target.value})} /> onGeneralChange({...general, whatsapp: ev.target.value})} /> onGeneralChange({...general, partner_reference: ev.target.value})} /> ) }