Jump to content

Modificar tamaño de DNI [SOLUCIONADO]


Recommended Posts

Hola amigos, resulta que estaba simulando una compra en mi tienda prestashop para ver si estaba ya configurado el método paypal, pero al ingresar el Numero de Identificación DNI que es el IFE/CURP cada uno es de 18 caracteres me dice que solo puedo ingresar 16, lo de menos por ahorita sería solo ingresar 16 caracteres pero si en mi país (México) son 18 cuando un cliente se registre tiene que ingresar lo real que son 18 porque es muy importante, donde puedo modificar este tamaño de caracteres a 18?? Gracias

post-631301-0-33693600-1379439235_thumb.jpg

Edited by richi1991 (see edit history)
Link to comment
Share on other sites

/classes/Validate.php
	public static function isDniLite($dni)
	{
		return empty($dni) || (bool)preg_match('/^[0-9A-Za-z-.]{1,16}$/U', $dni);
	}

En donde dice "16" depende 16, pon un numero mayor.

 

Pruebalo.

 

Recuerdado que lo optimo es hacer un override de la clase, depende editar la clase original, pero vamos prueba primero y si va, pues ya hacemos el override.

  • Like 1
Link to comment
Share on other sites

/classes/Validate.php
	public static function isDniLite($dni)
	{
		return empty($dni) || (bool)preg_match('/^[0-9A-Za-z-.]{1,16}$/U', $dni);
	}

En donde dice "16" depende 16, pon un numero mayor.

 

Pruebalo.

 

Recuerdado que lo optimo es hacer un override de la clase, depende editar la clase original, pero vamos prueba primero y si va, pues ya hacemos el override.

 

Amigo desaparecieron 2 errores pero aún queda uno =( ahora a donde le modifico?? ayuda please

 

el error que me aparece es el siguiente

 

  1. dni es demaciado grande. Tamaño máximo: 16
Link to comment
Share on other sites

¿Que "dni" estas metiendo exactamente?

 

Date cuenta, que de todos modos esto:

		return empty($dni) || (bool)preg_match('/^[0-9A-Za-z-.]{1,16}$/U', $dni);

es una regla de validación.

Tengo esto mira amigo

 

public static function isDniLite($dni)
{
return empty($dni) || (bool)preg_match('/^[0-9A-Za-z-.]{1,18}$/U', $dni);
}
Link to comment
Share on other sites

Lo que pasa es que prestashop solo permite ingresar 16 caracteres y en méxico la curp consta de 18 caracteres variados entre numeros y letras por ejemplo esta: MECC020123HDFNRR04, lo que quiero hacer es que prestashop me acepte los 18 caracteres pues son obligatorios para la facturación etc. Ya aumente a 18 donde me dijiste y la cosa sigue igual, :/ help!

Link to comment
Share on other sites

Lo que pasa es que prestashop solo permite ingresar 16 caracteres y en méxico la curp consta de 18 caracteres variados entre numeros y letras por ejemplo esta: MECC020123HDFNRR04, lo que quiero hacer es que prestashop me acepte los 18 caracteres pues son obligatorios para la facturación etc. Ya aumente a 18 donde me dijiste y la cosa sigue igual, :/ help!

 

En el fichero:

/classes/Address.php

Tienes esto:

			'dni' => 				array('type' => self::TYPE_STRING, 'validate' => 'isDniLite', 'size' => 16),

Si cambias el 16 por otro numero (por ejemplo 18) ¿Que pasa?

Link to comment
Share on other sites

En el fichero:

/classes/Address.php

Tienes esto:

			'dni' => 				array('type' => self::TYPE_STRING, 'validate' => 'isDniLite', 'size' => 16),

Si cambias el 16 por otro numero (por ejemplo 18) ¿Que pasa?

 

Cambia tambien, en base de datos, en la tabla:

ps_address

el campo

dni

la longitud.

 

Muestro Imagen

 

p3dd.png

Edited by Sergio Ruiz (see edit history)
  • Like 1
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...