Validar un campo antes de guardar el nodo (formulario)

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
andreita2016's picture

Saludos a todos,

Soy nueva en drupal y tengo un problema serian tan amables de ayudarme por favor.

Les cuento: he creado un tipo de contenido denominado "Solicitud de Participación", este formulario tiene un campo denominado feria que es un tipo de referencia a un termino.
Un usuario tiene la opción de crear una solicitud de participación.
Lo que deseo controlar (validar) es que el usuario solo pueda crear una solicitud de participación a una feria X, es decir, el usuario no puede crear otra solicitud de participación a la misma feria X.

He intentado tratar de controlar mediante el modulo rules pero no lo he conseguido.

Talvez me pueden dar sugerencias

Gracias

Comments

https://www.drupal.org/project/registration

roberto_araya's picture

Lo que intentas hacer del modo en que lo estás haciendo sólo se me ocurre con código custom, yo te recomendaría probar con el módulo https://www.drupal.org/project/registration

Gracias roberto_araya por tu

andreita2016's picture

Gracias roberto_araya por tu respuesta,
El modulo que mencionas lo tengo instalado pero no me ayudado para controlar lo que necesito.

He consultado para ver si puedo agregarle codigo mediante hook. Pero como dije soy nueva en drupal y no se por donde empezar.
Talvez me puede dar otra sugerencia.

Gracias

Hola!, es Drupal 7 u 8?, y lo

roberto_araya's picture

Hola!, es Drupal 7 u 8?, y lo otro que habría que saber es si el usuario es anónimo o un usuario registrado, porque esto se puede hacer alterando la función submit del formulario para que cuando alguien llene el formulario y lo envié la función revise si existen envíos de ese tipo de contenido de ese usuario y si es que ya lo ha hecho en esa feria, si el usuario es registrado no sería mayor problema, si es anónimo habría que hacer algo con la sesión. De todas formas el formulario se podría alterar con hook_form_FORM_ID_alter() (https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Form%21fo...) y ahí añadir una función al submit, o derechamente reemplazar la existente.

Gracias Roberto

andreita2016's picture

Hola, Roberto, gracias por tu respuesta. Estoy usando drupal 7 y si es un usuario registrado. Te cuento que lo pude solucionar mediante la validación del campo con código PHP. Realice la consulta a la base de datos de las ferias que registra el usuario mediante el tid de la feria.

Tengo otro problema que ya no se como solucionar. Te comento para ver si me puedes dar sugerencias.
Tengo una vista donde se presenta la información de una feria: Nombre de la Feria, fecha de inicio, valor, un botón "Solicitud de Postulante" que dirige al formulario de solicitud. Este formulario de solicitud tiene los campos: NOMBRE DE LA FERIA, categoría que participa, el nombre del producto.
El Problema: Es que solicitan que al dar clic en el botón "Solicitud de Postulante" dirija al formulario pero en el campo NOMBRE DE LA FERIA ya lo llene con el Nombre de la Feria que seleccionó.
No se si me hice entender.

Para mostrar la información de la Feria utilizo el modulo View.
Para el formulario de Solicitud de Postulante utilizo el modulo Node.

Pre llenar campos formulario.

roberto_araya's picture

Hola! para eso deberías usar un módulo que se llama prepopulate https://www.drupal.org/project/prepopulate, y en la vista construir la URL del enlace "Solicitud de Postulante" en el formato (como una query) que prepopulate necesita para llenar el o los campos. Espero eso te ayude!.

Usando Prepopulate

andreita2016's picture

Hola Roberto, muchas gracias por tu ayuda.
Te cuento que si hice pruebas con el modulo Prepopulate pero ya me funciona, tuve que volver a la version anterior del modulo.

De ante mano gracias por tu ayuda.

Chile

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week