Agiunta validazione inline email

This commit is contained in:
Thomas Zilio 2019-09-18 18:29:00 +02:00
parent e9fa8376a4
commit 93f9e26826
3 changed files with 39 additions and 21 deletions

View File

@ -107,7 +107,7 @@ if (!$is_cliente) {
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
{[ "type": "text", "label": "<?php echo tr('PEC'); ?>", "name": "pec", "class": "email-mask", "placeholder":"pec@dominio.ext", "value": "$pec$", "icon-before": "<i class='fa fa-envelope-o'></i>" ]} {[ "type": "text", "label": "<?php echo tr('PEC'); ?>", "name": "pec", "class": "email-mask", "placeholder":"pec@dominio.ext", "value": "$pec$", "icon-before": "<i class='fa fa-envelope-o'></i>", "validation": "email" ]}
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
@ -173,7 +173,7 @@ if (!$is_cliente) {
</div> </div>
<div class="col-md-3"> <div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr('Email'); ?>", "name": "email", "class": "email-mask", "placeholder":"casella@dominio.ext", "value": "$email$", "icon-before": "<i class='fa fa-envelope'></i>" ]} {[ "type": "text", "label": "<?php echo tr('Email'); ?>", "name": "email", "class": "email-mask", "placeholder": "casella@dominio.ext", "value": "$email$", "icon-before": "<i class='fa fa-envelope'></i>", "validation": "email" ]}
</div> </div>
</div> </div>

View File

@ -55,7 +55,7 @@ switch ($name) {
['idanagrafica', '<>', $id_record], ['idanagrafica', '<>', $id_record],
])->count() == 0; ])->count() == 0;
$message = $disponibile ? tr('La partita iva non è già inserita in una anagrafica') : tr('La partita iva è già utilizzata in un altro articolo'); $message = $disponibile ? tr('La partita iva non è già inserita in una anagrafica') : tr("La partita iva è già utilizzata in un'altra anagrafica");
$partita_iva = !empty($anagrafica) && is_numeric($value) ? $anagrafica->nazione->iso2.$value : $value; $partita_iva = !empty($anagrafica) && is_numeric($value) ? $anagrafica->nazione->iso2.$value : $value;
@ -71,5 +71,38 @@ switch ($name) {
'message' => $message, 'message' => $message,
]; ];
break;
case 'email':
$disponibile = Anagrafica::where([
['email', $value],
['email', '<>', ''],
['idanagrafica', '<>', $id_record],
])->count() == 0;
$message = $disponibile ? tr("L'email non è già inserita in una anagrafica") : tr("L'email è già utilizzata in un'altra anagrafica");
$result = $disponibile;
$check = Validate::isValidEmail($value);
if (is_bool($check)) {
$result = false;
$message .= '. '.tr("Attenzione: l'email inserita non possiede un formato valido");
}else {
if(empty($check['format_valid'])){
$result = false;
$message .= '. '.tr("Attenzione: l'email inserita non possiede un formato valido");
}
if(empty($check['smtp_check'])){
$result = false;
$message .= '. '.tr("Attenzione: impossibile verificare l'origine dell'email");
}
}
$response = [
'result' => $result,
'message' => $message,
];
break; break;
} }

View File

@ -124,32 +124,17 @@ class Validate
// Controllo attraverso apilayer // Controllo attraverso apilayer
if (Services::isEnabled()) { if (Services::isEnabled()) {
$response = Services::request('get', 'check_email', [ $response = Services::request('post', 'check_email', [
'email' => $email, 'email' => $email,
'smtp' => $smtp, 'smtp' => $smtp,
'format' => 1, 'format' => 1,
]); ]);
$data = Services::responseBody($response); $data = Services::responseBody($response);
/*se la riposta è null verificando il formato, il record mx o il server smtp imposto la relativa proprietà dell'oggetto a 0*/ return $data['result'];
if ($data['format_valid'] == null) {
$data['format_valid'] = 0;
} }
if ($data['mx_found'] == null && $smtp) { return null;
$data['mx_found'] = 0;
}
if ($data['smtp_check'] == null && $smtp) {
$data['smtp_check'] = 0;
}
$data['smtp'] = $smtp;
return empty($data['format_valid']) ? false : $data;
}
return true;
} }
public static function isValidTaxCode($codice_fiscale) public static function isValidTaxCode($codice_fiscale)