/** * @inheritdoc */ public function init() { parent::init(); $this->messageLength = $this->messageLength ?: Yii::t('yii', '{attribute} should have a length of {length} characters'); $this->messageCharacters = $this->messageCharacters ?: Yii::t('yii', '{attribute} contains incorrect characters'); $this->messageChecksum = $this->messageChecksum ?: Yii::t('yii', '{attribute} failed checksum validation'); if ($this->length) { $this->validatorLength = Yii::createObject(['class' => RegularExpressionValidator::className(), 'message' => Yii::$app->getI18n()->format($this->messageLength, ['length' => $this->length], Yii::$app->language), 'pattern' => '/^.{' . $this->length . '}$/']); } if ($this->characters) { $this->validatorCharacters = Yii::createObject(['class' => RegularExpressionValidator::className(), 'message' => $this->messageCharacters, 'pattern' => '/^[' . $this->characters . ']+$/']); } if ($this->checksum) { $this->validatorChecksum = Yii::createObject(['class' => BarcodeChecksum::className(), 'message' => $this->messageChecksum, 'method' => $this->checksum]); } }