feat: requiere nombre y apellido (mínimo 2 palabras) en flujo de recarga
- PublicChat: valida ≥2 palabras al ingresar nombre_remitente en chat web - PagoValidadorService: remitenteCoincide exige ≥2 palabras que coincidan en el correo - TelegramBotService: processRemitenteNombre exige ≥2 palabras igual que el chat web Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
10061d7c65
commit
23eb448433
@@ -416,8 +416,9 @@ class PublicChat extends Component
|
||||
// Capturar nombre del titular bancario para validación de recarga
|
||||
if ($this->flujo === 'pago.esperando_nombre') {
|
||||
$nombre = trim($texto);
|
||||
if (strlen($nombre) < 3) {
|
||||
$this->guardarMensajeBot($this->convId, "Por favor escribe tu nombre completo (mínimo 3 caracteres).");
|
||||
$palabras = array_filter(explode(' ', $nombre), fn($p) => strlen($p) >= 2);
|
||||
if (count($palabras) < 2) {
|
||||
$this->guardarMensajeBot($this->convId, "Escribe al menos nombre y apellido. Ejemplo: *Juan Garcia*");
|
||||
$this->cargarMensajes();
|
||||
$this->dispatchBrowserEvent('scroll-chat');
|
||||
return;
|
||||
|
||||
@@ -197,12 +197,13 @@ class PagoValidadorService
|
||||
$re = $normalizar($remitenteEmail);
|
||||
$nu = $normalizar($nombreUsuario);
|
||||
|
||||
$coincidencias = 0;
|
||||
foreach (explode(' ', $nu) as $palabra) {
|
||||
if (strlen($palabra) >= 3 && str_contains($re, $palabra)) {
|
||||
return true;
|
||||
$coincidencias++;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
return $coincidencias >= 2;
|
||||
}
|
||||
|
||||
private function fetchCorreos(): array
|
||||
|
||||
@@ -1276,9 +1276,10 @@ class TelegramBotService
|
||||
|
||||
private function processRemitenteNombre(string $chatId, string $texto): void
|
||||
{
|
||||
$nombre = trim($texto);
|
||||
if (strlen($nombre) < 3) {
|
||||
$this->send($chatId, "Por favor escribe tu nombre completo (mínimo 3 caracteres).");
|
||||
$nombre = trim($texto);
|
||||
$palabras = array_filter(explode(' ', $nombre), fn ($p) => strlen($p) >= 2);
|
||||
if (count($palabras) < 2) {
|
||||
$this->send($chatId, "Escribe al menos nombre y apellido. Ejemplo: *Juan Garcia*");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user