L'analisi (nel processo di marshalling) e la convalida non hanno nulla a che fare l'una con l'altra, la prima avverrà dopo quest'ultimo.
Controlla la date
API del metodo di convalida, richiede ulteriori argomenti, ovvero il formato da utilizzare e un'espressione regolare personalizzata da utilizzare al posto di quelli predefiniti.
API> \Cake\Validation\Validation::data()
Quindi, per convalidare correttamente i tuoi dati tedeschi localizzati, dovrai specificare il dmy
formato.
->add('datefield', 'valid', ['rule' => ['date', 'dmy']])
Se desideri applicare la convalida localizzata a livello globale, in un modo in cui il formato può essere modificato da un unico punto nella tua app, puoi ad esempio utilizzare una regola di convalida personalizzata e un provider personalizzato disponibile a livello globale, che recupera il formato dalle tue app configurazione, come
namespace App\Validation;
use Cake\Core\Configure;
use Cake\Validation\Validation;
class AppValidation
{
public static function date($check) {
return Validation::date($check, Configure::read('Locale.validation.dateFormat'));
}
}
$validator->provider('appValidation', 'App\Validation\AppValidation');
$validator->add('datefield', 'valid', [
'rule' => 'date',
'provider' => 'appValidation'
])
Vedi anche Ricettario> Convalida> Regole di convalida personalizzate