Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- validarFormConsultaCreate: function () {
- let valido = true;
- let descripcionRegex = /^[a-zA-ZÀ-ÿ\u00f1\u00d1]+(\s*[a-zA-ZÀ-ÿ\u00f1\u00d1]*)*[a-zA-ZÀ-ÿ\u00f1\u00d1]+$/; // Permite letra Ñ, tildes e incluso diéresis
- let fechaRegex = /^\d{2}\/\d{2}\/\d{4}$/;
- let keyMedico = this.getView().byId("selectMedico").getSelectedKey();
- let keySalaMedica = this.getView()
- .byId("selectSalaMedica")
- .getSelectedKey();
- if (this.getView().byId("selectTurno").getSelectedKey() !== "") {
- let fechaTurnoUnformatted = this.getView()
- .byId("selectTurno")
- .getSelectedItem()
- .getText();
- let fechaConsultaUnformatted = this.getView()
- .byId("dpFechaConsulta")
- .getValue();
- fechaTurnoUnformatted = new Date(
- formatter.fechaBack(fechaTurnoUnformatted.toString())
- );
- fechaConsultaUnformatted = new Date(
- formatter.fechaBack(fechaConsultaUnformatted.toString())
- );
- let fechaTurno = new Date(fechaTurnoUnformatted);
- let fechaConsulta = new Date(fechaConsultaUnformatted);
- if (fechaTurno >= fechaConsulta) {
- this.getView()
- .byId("dpFechaConsulta")
- .setValueState(ValueState.Error);
- this.getView()
- .byId("dpFechaConsulta")
- .setValueStateText(
- "La fecha de consulta debe ser posterior a la del turno."
- );
- this.getView()
- .byId("selectTurno")
- .setValueState(ValueState.Error);
- this.getView()
- .byId("selectTurno")
- .setValueStateText(
- "La fecha del turno debe ser anterior a la de la consulta."
- );
- valido = false;
- }
- }
- let fechaString = this.getView().byId("dpFechaConsulta").getValue();
- let descripcion = this.getView()
- .byId("inputDescripcionConsulta")
- .getValue();
- if (keyMedico === "" || Number.isNaN(keyMedico)) {
- this.getView().byId("selectMedico").setValueState(ValueState.Error);
- this.getView()
- .byId("selectMedico")
- .setValueStateText("Debe seleccionar un médico.");
- valido = false;
- } else {
- this.getView().byId("selectMedico").setValueState(ValueState.None);
- }
- if (keySalaMedica === "" || Number.isNaN(keySalaMedica)) {
- this.getView()
- .byId("selectSalaMedica")
- .setValueState(ValueState.Error);
- this.getView()
- .byId("selectSalaMedica")
- .setValueStateText("Debe seleccionar una sala médica.");
- valido = false;
- } else {
- this.getView()
- .byId("selectSalaMedica")
- .setValueState(ValueState.None);
- }
- if (fechaString === "") {
- this.getView()
- .byId("dpFechaConsulta")
- .setValueState(ValueState.Error);
- this.getView()
- .byId("dpFechaConsulta")
- .setValueStateText("Debe seleccionar una fecha."); // revisar por qué no tira este msj
- valido = false;
- } else if (fechaString.match(fechaRegex) === null) {
- this.getView()
- .byId("dpFechaConsulta")
- .setValueState(ValueState.Error);
- this.getView()
- .byId("dpFechaConsulta")
- .setValueStateText("El formato de fecha no es válido.");
- valido = false;
- } else {
- this.getView()
- .byId("dpFechaConsulta")
- .setValueState(ValueState.None);
- }
- const [dia, mes, anio] = fechaString.split("/");
- const isoFormattedStr = `${anio}-${mes}-${dia}`;
- const date = new Date(isoFormattedStr);
- const timestamp = date.getTime();
- if (typeof timestamp !== "number" || Number.isNaN(timestamp)) {
- this.getView()
- .byId("dpFechaConsulta")
- .setValueState(ValueState.Error);
- this.getView()
- .byId("dpFechaConsulta")
- .setValueStateText("El formato de fecha no es válido.");
- valido = false;
- } else {
- this.getView()
- .byId("dpFechaConsulta")
- .setValueState(ValueState.None);
- }
- if (descripcion === "") {
- this.getView()
- .byId("inputDescripcionConsulta")
- .setValueState(ValueState.Error);
- this.getView()
- .byId("inputDescripcionConsulta")
- .setValueStateText("Debe ingresar un motivo de consulta.");
- valido = false;
- } else if (!descripcionRegex.test(descripcion)) {
- this.getView()
- .byId("inputDescripcionConsulta")
- .setValueState(ValueState.Error);
- this.getView()
- .byId("inputDescripcionConsulta")
- .setValueStateText(
- "El formato del motivo de consulta no es válido."
- );
- valido = false;
- } else {
- this.getView()
- .byId("inputDescripcionConsulta")
- .setValueState(ValueState.None);
- }
- return valido;
- },
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement