Esistono diversi modi per creare un validatore, ma qui utilizziamo l’espressione regolare o l’espressione regolare JavaScript o RegExp per i validatori di creazione. In questo articolo vedremo l’espressione utilizzata più frequentemente
Passaggio 1: crea una nuova classe per Validator come di seguito o Validator
Vedi il primo esempio di convalida del numero di cellulare a 10 cifre.
<?php namespace common\validators; use yii\validators\Validator; class MobileValidator extends Validator { public function validateAttribute($model, $attribute) { if (isset($model->$attribute) and $model->$attribute != '') { if (!preg_match('/^[123456789]\d{9}$/', $model->$attribute)) { $this->addError($model, $attribute, 'In Valid Mobile / Phone number'); } } } }
Qui possiamo scrivere diverse espressioni regolari diverse secondo il requisito `php preg_match(‘/^[123456789]\d{9}$/’, $model->$attribute) `
Passaggio 2: come utilizzare Validator
Spero che tutti sappiano come utilizzare un validatore, ma ecco un esempio di come utilizzarlo.
Aggiungi una nuova regola nella classe del modello In questo modo `php [[‘mobile’],\common\validators\MobileValidator::class], [[‘mobile’], ‘string’, ‘max’ => 10],
So It's Very Simple to use a Custom Validator. As I Told you Earlier that i show you some more Example for Using Regular Expression Validator Just Replace these string in preg_match. 1. Aadhar Number Validator ```php preg_match('/^[2-9]{1}[0-9]{3}[0-9]{4}[0-9]{4}$/', $model->$attribute)
Validatore del numero di conto bancario `php preg_match(“/^[0-9]{9,18}+$/”, $model->$attribute) `
Validatore codice IFSC bancario `php preg_match(“/^[A-Z]{4}0[A-Z0-9]{6}$/”, $model->$attribute) `
Validatore numero carta Pan `php preg_match(‘/^([a-zA-Z]){5}([0-9]){4}([a-zA-Z]){1}?$/’, $modello->$attributo) `
Validatore del codice PIN `php preg_match(‘/^[0-9]{6}+$/’, $model->$attribute) `
Validatore GSTIN `php preg_match(“/^([0][1-9]|[1-2][0-9]|[3][0-5])([a-zA-Z]{5} [0-9]{4}[a-zA-Z]{1}[1-9a-zA-Z]{1}[zZ]{1}[0-9a-zA-Z]{1})+ $/”, $modello->$attributo) `
Questo è un altro tipo di validatore personalizzato
Validatore di 500 parole per una stringa
<?php namespace common\validators; use yii\validators\Validator; /** * Class Word500Validator * @author Aayush Saini <aayushsaini9999@gmail.com> */ class Word500Validator extends Validator { public function validateAttribute($model, $attribute) { if ($model->$attribute != '') { if (str_word_count($model->$attribute) > 500) { $this->addError($model, $attribute, $model->getAttributeLabel($attribute) . ' length can not exceeded 500 words.'); \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON; return $model->errors; } } } }
Ora presumo che dopo aver letto questo articolo puoi creare qualsiasi tipo di validatore secondo i tuoi requisiti.