it-swarm-es.com

¿Cómo evitar enviar un formulario al crear un nuevo contenido, dependiendo de algunos criterios?

Supongamos que tengo un tipo de contenido persona, y no quiero el campo nombre para contener el texto AAA .

¿Cuál sería la mejor manera de evitar enviar el formulario si eso sucede?

Por ejemplo:
- Ocultar el botón Guardar
- Enviarlo, pero volver a la misma página con ese campo marcado como rojo , o simplemente mostrar un mensaje ...

esto es solo un ejemplo. Lo estoy preguntando porque a veces necesito hacer una consulta a la base de datos y ver si algunos registros existen, o algo así ...

Editar: He editado el archivo template.php Bajo la carpeta temática que estoy usando, y he agregado las funciones:

  • theme_theme()
  • theme_formId($form)

En la segunda función, he modificado el formulario para ver Drupal está llamando a esta función y sí, funciona ...

Luego hice lo siguiente en la segunda función:

$form['#validate'] = array('my_validate_function');

y bajo my_validate_function($form, &$form_state) Acabo de escribir form_set_error('', t('Testing...')); y nada parece estar sucediendo: Todavía puedo crear un nuevo contenido sin problemas :(

¿Qué estoy perdiendo aquí?

2
Oscar Mederos

Puede agregar devoluciones de llamada de validación a cualquier formulario en Drupal usando el Formulario API . Específicamente, puede usar hook_form_alter Para agregar una devolución de llamada de validación a la $form['#validate'] elemento.

3
jhedstrom

Agregue un controlador de validación personalizado y defina sus criterios.

0
Sivaji