6

¿Hay alguna forma de traducir los mensajes de error de validación de formularios de CodeIgniter sin tocar los archivos del sistema?Traducir mensajes de error de validación de formularios de CodeIgniter

+0

esta es mi respuesta http://stackoverflow.com/a/36331269/3143384. Necesitamos cambiar el archivo de lang de validación, pero de esta manera puede establecer un mensaje personalizado en cualquier campo. –

Respuesta

25

Si está hablando de traducir realmente a otro idioma, puede hacerlo configurando el valor de configuración $config['language'] en el idioma que desee. Si no desea cambiar el archivo config.php real que usted puede hacerlo a través del uso de la función del objeto de configuración set_item() así:

$this->config->set_item('language', 'spanish'); 

Ver: CodeIgniter Doc for the Config Class

Esto supone que tiene una español en su directorio language con al menos el archivo form_validation_lang.php.

Sin embargo, si solo desea crear mensajes personalizados para el objeto Form_validation, puede copiar el archivo form_validation_lang.php del directorio system\language y moverlo al directorio application\language. Ahora puede editar el nuevo archivo de idioma para que refleje los mensajes diferentes que desee. También puede volver fácilmente a los mensajes predeterminados eliminando el archivo del directorio application/language.

Otra forma de hacerlo, si no desea tocar incluso los archivos language es anular manualmente los mensajes. Puede hacerlo a través del objeto Form_validation biblioteca de este modo: Ver

$this->form_validation->set_message('required', 'This is a required item!');` 

: Método CodeIgniter Doc for the Form Validation Class

+1

esta es una respuesta realmente excelente –

+1

Paquetes de idiomas: https://github.com/EllisLab/CodeIgniter/wiki/Language-Translation - Sin embargo, muchos de esos enlaces están desafortunadamente desafortunados :( – user2019515

+0

Aplica el método que @wescrow ha mencionado. e ir por el paquete de idiomas. Aquí hay un nuevo enlace oficial para los lenguajes de CI 3.x https://github.com/bcit-ci/codeigniter3-translations – TechCare99

0

Si es necesario configurar un mensaje de error personalizado para un campo determinado en alguna regla en particular, utilizar los set_rules() :

$this->form_validation->set_rules('field_name', 'Field Label', 'rule1|rule2|rule3', 
     array('rule2' => 'Error Message on rule2 for this field_name') 
); 

Esto resolverá su problema de todos los campos independientemente. :)

Cuestiones relacionadas