Validar un campo en formulario ML con javascript

Buenas, tengo esta situacion y necesitaria ayuda ya que con javascript no he trabajado. Mil gracias
El tema es que tengo un campo (numero_patrimonial) que se rellena con un select de la tabla de diaguita filtrando de acuerdo a la facultad que se trate, hasta aca todo bien, se hace la seleccion en funcion de los numeros_patrimoniales que corresponden a la facultad en la que pertenece el usuario que ingreso.
El problema se me presenta xque al numero seleccionado yo debo verificar que no este prestado, esto es verificar que ese numero_patrimonial no este en la tabla de prestamos que se encuentra en otra base de datos diferente a la de diaguita. O sea que yo no puedo incluir esta condicion en la misma consulta en donde realice el filtro. Por ello estoy tratando de rescatar el valor seleccionado y luego verificar que no este en la otra tabla. Se entiende ??
Analizando mis alternativas me parece que la mejor opcion sería validarlo con javascript, pero no se bien como definirlo. Me podran ayudar ???
Gracias

Hola Olga,

como estas recuperando el valor para dicho campo?.. si estas usando un metodo dentro del ci de la operacion… .tranquilamente podes obtener el nro de la base de diaguita yluego hacer la consulta para verificar que no este “prestado” en la otra base, si todo va bien … devolves dicho nro, sino devolves un arreglo vacio.

De esa forma, solo se podrian utilizar aquellos nros que cumplan con ambas condiciones, de todas maneras cuando viene la informacion del cliente deberias volver a chequear que dicho nro es valido.

Saludos

Mil gracias por la respuesta. OK. Perfecto, esa es la idea, mi problema es el como.
Que yo sepa tengo dos maneras,

  1. Yo utilice un combo para el ef en cuestion (numero_patrimonial) que me devuelve el listado de numeros que pertenecen a una determinada facultad, hasta aca espectacular, esto me devuelve un arreglo. Yo puedo generar otra consulta con los bienes que se encuentran prestados en otra base de datos, hasta aca tbn perfecto. Pero lo que no se como hacer es tomar el primer arreglo(con los bienes de una determinada facultad) y compararlos con este otro arreglo(bienes prestados) y asi eliminar de la primera lista todos los que se encuentran en la segunda lista. (Esta es la opcion que mas me gusta pero no se como hacerlo)

2)La otra opcion que yo veo es dejar la seleccion en el combo con los numeros de bienes que corresponden a una determinada facultad y luego rescatar el numero con javascript y desde alli hacer la segunda consulta. Porque quisiera que saque el error en el mismo momento antes de terminar la carga de la linea.

Mil Gracias

Hola Olga,

No deberías tener que comparar nada, obtenes primero los bienes prestados y luego los usas para filtrar los bienes de la facultad con un NOT IN… suponiendo que coinciden las claves.
La otra forma es un tanto mas laburada… pero igual no necesitas “comparaciones”, haces que el arreglo de bienes de la facultad este indizado por sus ids… luego recuperas los prestados y eliminas aquellas claves que esten presentes en dicho arreglo, una especie de array_diff manual.

2)La otra opcion que yo veo es dejar la seleccion en el combo con los numeros de bienes que corresponden a una determinada facultad y luego rescatar el numero con javascript y desde alli hacer la segunda consulta. Porque quisiera que saque el error en el mismo momento antes de terminar la carga de la linea.
El problema es que ese tipo de validacion lo debes hacer con ajax, el cual es asincronico.. por tanto no podes depender de ello para parar el submit del formulario, ya que la respuesta puede llegar luego de que hayan presionado el boton 'guardar'. Si tenes varios campos mas por debajo, podes hacer el intento con ajax pero tene presente que vas a tener que volver a validarlo en el servidor, por si acaso la respuesta llega tarde.

Saludos

OK. Mil gracias. Tal como me indicaste el metodo con ajax me funciono pero despues que presiono el boton guardar.
Pero no sabia como comparar los arreglos. Pruebo sino pregunto.
Mil gracias por la respuesta.

Hola !!
El array_diff me funciono pero solo compara arreglos de un solo campo. Igual lo soluciones leyendo y comparando los campos de los arreglos uno a uno y luego genero el tercer arreglo que es el que devuelvo …

Hola Olga,

me alegro que lo hayas solucionado, de todas maneras dentro de las funciones para arrays en PHP hay varias opciones. Quizas podias haber hecho un array_diff_keys o algun otro, puede que necesitaras hacer algun ciclo extra por los datos para poder usar esas funciones, en cualquier caso ya lo resolviste pero tenelo en cuenta, muchas veces hacemos codigo que ya existe.

Saludos