Avisos
Vaciar todo

Error en un campo de formulario vació  

 
Pedro
 Pedro
Usuario eminente

Hola buenas tardes.
Tengo en un formulario la siguiente instrucción
}
add_filter( 'pre_get_posts', 'filtro_paginas_especificas' );
add_filter('cred_form_validate','func_validate_usuario_denuncia',10,2);
function func_validate_usuario_denuncia($error_fields, $form_data){

//field data are field values and errors
list($fields,$errors)=$error_fields;

if ($form_data['id']==36925){

$args = array(
'meta_query' => array(
array('key' => 'wpcf-usuario-denuncia',
'value' => $_POST['wpcf-usuario-denuncia']
)),
'post_type' => 'denuncia',
'posts_per_page' => -1
);
$posts = get_posts($args);

//check if birthday value is already on the database

if (count($posts) > 0){

//set error message for my_field

$errors['wpcf-usuario-denuncia']=' Usuario ya existente, utilice un nuevo usuario, gracias';

}

}

return array($fields,$errors);

}
add_filter('gettext', 'my_func2', 10, 3);
function my_func2($translated_text, $untranslated_text, $domain){
if($translated_text == 'Add new' && $domain = 'wpv-views'){
$translated_text = 'Añadir nuevo';
}
return $translated_text;
}

pero cuando se deja en blanco el campo aparece el siguiente mensaje
Elija un nombre de usuario: Usuario ya existente, utilice un nuevo usuario, gracias
¿Como puedo arreglarlo?

URL del sitio: Contenido solo visible a usuarios registrados

Citar
Respondido : 30/10/2019 11:07 am
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Pedro.

Ese aviso salta por que son campos requeridos, es normal que el nombre sea requerido en un formulario.
Lo que no entiendo que es lo que quieres modificar, si quieres modificar ese texto o que los campos no sean requeridos.

Lo que podrías probar es a comentar la línea que hace comprobación de esos datos:

//check if birthday value is already on the database

//if (count($posts) > 0){

//set error message for my_field
// :blush: 
//$errors=' Usuario ya existente, utilice un nuevo usuario, gracias';

//}

Un saludo

ResponderCitar
Respondido : 30/10/2019 11:30 am

Cursos Gratuitos WordPress

Pedro
 Pedro
Usuario eminente

Gracias Pepe por tu ayuda,
no se casi nada de código, por eso no sabia que era obligatorio.
Lo que quiero que haga es que no sea obligatorio, pero si lo rellenan optativamente. y ya existe ese usuario, que no permita el mismo nombre.
Por otro lado, quiero que la contraseña la repitan y si no es igual que pida que la comprueben.

ResponderCitar
Respondido : 31/10/2019 12:58 pm
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Pedro.

De donde sacaste ese código ? Puedes pasar la URL ?

El bloque que realiza la validación es el que muestras:

add_filter( 'pre_get_posts', 'filtro_paginas_especificas' );
add_filter('cred_form_validate','func_validate_usuario_denuncia',10,2);
function func_validate_usuario_denuncia($error_fields, $form_data){

//field data are field values and errors
list($fields,$errors)=$error_fields;

if ($form_data==36925){

$args = array(
'meta_query' => array(
array('key' => 'wpcf-usuario-denuncia',
'value' => $_POST
)),
'post_type' => 'denuncia',
'posts_per_page' => -1
);
$posts = get_posts($args);


//check if birthday value is already on the database

if (count($posts) > 0){

//set error message for my_field

$errors=' Usuario ya existente, utilice un nuevo usuario, gracias';

}

}

return array($fields,$errors);

}

Pero no se si eliminarlo puede afectar a las otras opciones del formulario.

Por qué no utilizas alguna extensión como Contact Form para crear el formulario ?
-> https://es.wordpress.org/plugins/contact-form-7/

Tienes un tutorial en este enlace:
-> https://www.youtube.com/watch?v=m1VMh3qeFaQ&list=PLYfS9V5snXkqMAMjp6K66t_2msRLiphvi

Un saludo

ResponderCitar
Respondido : 31/10/2019 1:41 pm

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

Pedro
 Pedro
Usuario eminente

Me lo proporcionaron los de el plugin toolset, utilizo este plugin para crear types.
Puedo pedírselo a ellos ya que es su plugin. Hablan en ingles y estoy mas cómodo con vosotros.
En cualquier caso este el el link
https://sg-fra.canaleticoconfidencial.es/sorigue/
y los campos son

ResponderCitar
Respondido : 31/10/2019 5:44 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

Hola

La única condición para que te aparezca ese mensaje según tu código es que tengas contenido en la variable $post, tal vez sería comprobar adicionalmente si ese campo esta lleno con la otra variable $form_data

Mejor consulta directamente a los desarrolladores que conocen mejor los filtros a usar o qué devuelven esas variables.

Saludos.

ResponderCitar
Respondido : 31/10/2019 6:51 pm

Pedro
 Pedro
Usuario eminente

gracias

ResponderCitar
Respondido : 01/11/2019 10:09 am