Example #1
0
 public function rules()
 {
     return [['ids', 'required'], ['ids', function ($attribute) {
         if (!is_array($this->{$attribute})) {
             $this->addError($attribute, 'Ids must be array.');
         }
     }], ['name', 'required', 'on' => self::SCENARIO_MERGE], ['name', NazvanieValidator::className(), 'on' => self::SCENARIO_MERGE]];
 }
Example #2
0
 protected function validateValue($value)
 {
     $badStructure = 'Неправильная структура данных.';
     try {
         $decoded = Json::decode($value);
     } catch (InvalidParamException $e) {
         return [$badStructure];
     }
     if (!array_key_exists(0, $decoded) || !array_key_exists(1, $decoded)) {
         return [$badStructure];
     }
     $state = $decoded[0];
     $value = $decoded[1];
     if (!in_array($state, [ComboWidget::STATE_LIST, ComboWidget::STATE_TEXT])) {
         return [$badStructure];
     }
     if ($this->required === true) {
         $validator = new RequiredValidator();
         $error = null;
         if (!$validator->validate($value, $error)) {
             return [$error];
         }
     }
     if ($value === null || $value === '') {
         $this->_targetValue = null;
         return null;
     }
     if ($state === ComboWidget::STATE_LIST) {
         $this->_targetValue = ['id' => (int) $value];
         return null;
     }
     if ($state === ComboWidget::STATE_TEXT) {
         $value = StringHelper::squeezeLine($value);
         $validator = new NazvanieValidator();
         $error = null;
         if (!$validator->validate($value, $error)) {
             return [$error];
         }
         $this->_targetValue = ['nazvanie' => $value];
         return null;
     }
     return [$badStructure];
 }
Example #3
0
 public function rules()
 {
     return [[['familiya', 'imya', 'otchestvo'], SqueezeLineFilter::className()], [['familiya', 'imya', 'otchestvo'], ImyaChelovekaValidator::className()], [['familiya', 'imya'], 'required'], ['otchestvo', 'default'], ['email', 'email'], ['email', 'required'], ['telefon', TelefonValidator::className()], ['telefon', 'default'], [['rabotaOrgAdres', 'rabotaOrgVedomstvo'], 'integer'], [['rabotaOrgAdres', 'rabotaOrgVedomstvo'], 'required'], ['rabotaOrgId', 'integer'], ['rabotaOrgId', RequiredWhenTargetIsEmpty::className(), 'targetModel' => $this, 'targetAttribute' => 'rabotaOrgNazvanie'], ['rabotaOrgId', 'default'], ['rabotaOrgNazvanie', SqueezeLineFilter::className()], ['rabotaOrgNazvanie', NazvanieValidator::className()], ['rabotaOrgNazvanie', RequiredWhenTargetIsEmpty::className(), 'targetModel' => $this, 'targetAttribute' => 'rabotaOrgId'], ['rabotaOrgNazvanie', 'default'], ['rabotaDolzhnostId', 'integer'], ['rabotaDolzhnostId', RequiredWhenTargetIsEmpty::className(), 'targetModel' => $this, 'targetAttribute' => 'rabotaDolzhnostNazvanie'], ['rabotaDolzhnostId', 'default'], ['rabotaDolzhnostNazvanie', SqueezeLineFilter::className()], ['rabotaDolzhnostNazvanie', NazvanieValidator::className()], ['rabotaDolzhnostNazvanie', RequiredWhenTargetIsEmpty::className(), 'targetModel' => $this, 'targetAttribute' => 'rabotaDolzhnostId'], ['rabotaDolzhnostNazvanie', 'default'], ['rabotaEtapObrazovaniya', EnumValidator::className(), 'enumClass' => EtapObrazovaniya::className()], ['rabotaEtapObrazovaniya', 'default'], ['rabotaTelefon', TelefonValidator::className()], ['rabotaTelefon', 'default'], ['login', LoginFilter::className()], ['login', LoginValidator::className()], ['login', 'unique', 'targetClass' => Polzovatel::className(), 'targetAttribute' => 'login'], ['login', 'required'], ['podtverzhdenieParolya', 'compare', 'compareAttribute' => 'parol', 'message' => 'Пароль должен совпадать с подтверждением пароля.'], [['parol', 'podtverzhdenieParolya'], 'required'], [['roli'], 'required']];
 }
Example #4
0
 public function rules()
 {
     return [['tip', 'in', 'range' => TipKursa::items()], ['tip', 'default'], ['kategorii_slushatelej', 'each', 'rule' => ['integer']], ['kategorii_slushatelej', 'default'], ['nazvanie', 'filter', 'filter' => 'mb_strtolower'], ['nazvanie', SqueezeLineFilter::className()], ['nazvanie', NazvanieValidator::className()], ['nazvanie', 'default'], ['rukovoditel', 'integer'], ['rukovoditel', 'default'], ['raschitano_chasov', ChasyObucheniyaValidator::className()], ['raschitano_chasov', 'default'], ['nachnutsya_posle', DateValidator::className(), 'timestampAttribute' => 'nachnutsya_posle'], ['nachnutsya_posle', 'default'], ['zakonchatsya_do', DateValidator::className(), 'timestampAttribute' => 'zakonchatsya_do'], ['zakonchatsya_do', 'default']];
 }
Example #5
0
 /**
  * @inheritdoc
  */
 public function rules()
 {
     return [['data', 'date', 'format' => 'yyyy-MM-dd'], ['nomer', 'in', 'range' => range(1, Day::$zanyatiyaMax)], ['prepodavatel', 'integer'], ['auditoriya_id', 'integer'], ['auditoriya_nazvanie', NazvanieValidator::className()], ['forma', Enum2Validator::className(), 'enum' => FormaZanyatiya::className()]];
 }
Example #6
0
 public function rules()
 {
     return [['familiya', ImyaChelovekaValidator::className()], ['familiya', 'required'], ['imya', ImyaChelovekaValidator::className()], ['imya', 'required'], ['otchestvo', ImyaChelovekaValidator::className()], ['otchestvo', 'default'], ['data_rozhdeniya', DateValidator::className(), 'sqlAttribute' => 'data_rozhdeniya'], ['data_rozhdeniya', 'required'], ['telefon', TelefonValidator::className(), 'sqlAttribute' => 'telefon'], ['telefon', 'required'], ['email', EmailValidator::className()], ['email', 'required'], ['pasport_no', PasportNomerValidator::className(), 'sqlAttribute' => 'pasport_no'], ['pasport_no', 'required'], ['pasport_kem_vydan_kod', PasportKodPodrazdeleniyaValidator::className(), 'sqlAttribute' => 'pasport_kem_vydan_kod'], ['pasport_kem_vydan_kod', 'required'], ['pasport_kem_vydan', NazvanieValidator::className()], ['pasport_kem_vydan', 'required'], ['pasport_kogda_vydan', DateValidator::className(), 'sqlAttribute' => 'pasport_kogda_vydan'], ['pasport_kogda_vydan', 'required'], ['inn', InnValidator::className(), 'sqlAttribute' => 'inn'], ['inn', 'required'], ['snils', SnilsValidator::className(), 'sqlAttribute' => 'snils'], ['snils', 'required'], ['propiska', 'required'], ['propiska', 'string']];
 }
Example #7
0
 public function rules()
 {
     return [['nazvanie', NazvanieValidator::className()], ['prepodavatel', 'integer'], ['temy', 'validateTemyCount'], ['temy', 'each', 'rule' => ['integer']], ['chasti_tem', 'each', 'rule' => [ChastTemyValidator::className()]]];
 }
Example #8
0
 public function rules()
 {
     return [['kategorii_slushatelej', 'required'], ['kategorii_slushatelej', 'each', 'rule' => ['integer', 'min' => 1]], ['kategorii_slushatelej_input', 'filter', 'filter' => $this->emptyRemover()], ['kategorii_slushatelej_input', 'each', 'rule' => [SqueezeLineFilter::className()]], ['kategorii_slushatelej_input', 'each', 'rule' => [NazvanieValidator::className()]], ['nazvanie', 'required'], ['nazvanie', SqueezeLineFilter::className()], ['nazvanie', NazvanieValidator::className()], ['annotaciya', SqueezeTextFilter::className()], ['annotaciya', 'default'], ['raschitano_chasov', 'required'], ['raschitano_chasov', ChasyObucheniyaValidator::className()], ['formy_obucheniya_widget', 'each', 'rule' => [Enum2Validator::className(), 'enum' => FormaObucheniya::className()]], ['formy_obucheniya_widget', 'default'], ['ochnoe_nachalo', DateValidator::className(), 'timestampAttribute' => 'ochnoe_nachalo'], ['ochnoe_konec', DateValidator::className(), 'timestampAttribute' => 'ochnoe_konec'], ['zaochnoe_nachalo', DateValidator::className(), 'timestampAttribute' => 'zaochnoe_nachalo'], ['zaochnoe_konec', DateValidator::className(), 'timestampAttribute' => 'zaochnoe_konec'], [['ochnoe_nachalo', 'ochnoe_konec', 'zaochnoe_nachalo', 'zaochnoe_konec'], 'default'], ['raschitano_slushatelej', 'integer', 'min' => 0], ['raschitano_slushatelej', 'default'], ['rukovoditel', 'exist', 'targetClass' => FizLico::className(), 'targetAttribute' => 'id'], ['rukovoditel', 'default'], ['finansirovanie', 'required'], ['finansirovanie', Enum2Validator::className(), 'enum' => TipFinansirovaniya::className()], ['tip', 'required'], ['tip', Enum2Validator::className(), 'enum' => TipKursa::className()], ['plan_prospekt_god', 'required'], ['plan_prospekt_god', 'in', 'range' => ['2015-01-01', '2016-01-01', '2017-01-01', '2018-01-01']], ['iup', 'boolean'], ['iup', 'default', 'value' => false]];
 }
Example #9
0
 public function rules()
 {
     return [['dokument_ob_obrazovanii_tip', EnumValidator::className(), 'enumClass' => TipDokumentaObObrazovanii::className()], ['dokument_ob_obrazovanii_tip', 'required'], ['dokument_ob_obrazovanii_seriya', NomerDokumentaValidator::className()], ['dokument_ob_obrazovanii_seriya', 'default'], ['dokument_ob_obrazovanii_nomer', NomerDokumentaValidator::className()], ['dokument_ob_obrazovanii_nomer', 'required'], ['dokument_ob_obrazovanii_data', DateValidator::className(), 'sqlAttribute' => 'dokument_ob_obrazovanii_data'], ['dokument_ob_obrazovanii_data', 'default'], ['kvalifikaciyaDir', ComboValidator::className(), 'directoryAttribute' => 'kvalifikaciyaDir', 'required' => true], ['organizaciyaDir', ComboValidator::className(), 'directoryAttribute' => 'organizaciyaDir', 'required' => true], ['kurs_tip', EnumValidator::className(), 'enumClass' => TipKursa::className()], ['kurs_tip', 'default'], ['kurs_nazvanie', NazvanieValidator::className()], ['kurs_nazvanie', 'default'], ['kurs_chasy', ChasyObucheniyaValidator::className()], ['kurs_chasy', 'default']];
 }
Example #10
0
 public function rules()
 {
     return [['fizLico', 'exist', 'targetAttribute' => 'id', 'targetClass' => FizLico::className()], ['fizLico', 'required'], ['kurs', 'exist', 'targetAttribute' => 'id', 'targetClass' => Kurs::className()], ['kurs', 'required'], ['pedStazh', StazhValidator::className()], ['pedStazh', 'required'], ['stazhVDolzhnosti', StazhValidator::className()], ['stazhVDolzhnosti', 'required'], ['kategoriya', EnumValidator::className(), 'enumClass' => KategoriyaPedRabotnika::className()], ['kategoriya', 'required'], ['dolzhnostId', 'integer'], ['dolzhnostId', RequiredWhenTargetIsEmpty::className(), 'targetModel' => $this, 'targetAttribute' => 'dolzhnostNazvanie'], ['dolzhnostNazvanie', SqueezeLineFilter::className()], ['dolzhnostNazvanie', NazvanieValidator::className()], ['dolzhnostNazvanie', RequiredWhenTargetIsEmpty::className(), 'targetModel' => $this, 'targetAttribute' => 'dolzhnostId'], ['dolzhnostNazvanie', 'default'], ['obrOrgId', 'integer'], ['obrOrgId', RequiredWhenTargetIsEmpty::className(), 'targetModel' => $this, 'targetAttribute' => 'obrOrgNazvanie'], ['obrOrgNazvanie', SqueezeLineFilter::className()], ['obrOrgNazvanie', NazvanieValidator::className()], ['obrOrgNazvanie', RequiredWhenTargetIsEmpty::className(), 'targetModel' => $this, 'targetAttribute' => 'obrOrgId'], ['obrOrgNazvanie', 'default'], ['obrKvalifikaciyaId', 'integer'], ['obrKvalifikaciyaId', RequiredWhenTargetIsEmpty::className(), 'targetModel' => $this, 'targetAttribute' => 'obrKvalifikaciyaNazvanie'], ['obrKvalifikaciyaNazvanie', SqueezeLineFilter::className()], ['obrKvalifikaciyaNazvanie', NazvanieValidator::className()], ['obrKvalifikaciyaNazvanie', RequiredWhenTargetIsEmpty::className(), 'targetModel' => $this, 'targetAttribute' => 'obrKvalifikaciyaId'], ['obrKvalifikaciyaNazvanie', 'default'], ['obrDocTip', EnumValidator::className(), 'enumClass' => TipDokumentaObObrazovanii::className()], ['obrDocTip', 'required'], ['obrDocSeriya', SqueezeLineFilter::className()], ['obrDocSeriya', NomerDokumentaValidator::className()], ['obrDocSeriya', RequiredWhenTargetIsEmpty::className(), 'targetModel' => $this, 'targetAttribute' => 'obrDocNomer'], ['obrDocSeriya', 'default'], ['obrDocNomer', SqueezeLineFilter::className()], ['obrDocNomer', NomerDokumentaValidator::className()], ['obrDocNomer', RequiredWhenTargetIsEmpty::className(), 'targetModel' => $this, 'targetAttribute' => 'obrDocSeriya'], ['obrDocNomer', 'default'], ['obrDocData', 'date'], ['obrDocData', 'required'], ['pasportNomer', PasportNomerValidator::className(), 'sqlAttribute' => 'pasportNomerSql'], ['pasportNomer', 'required'], ['pasportKemVydanKod', PasportKodPodrazdeleniyaValidator::className()], ['pasportKemVydanKod', 'required'], ['pasportKemVydan', SqueezeLineFilter::className()], ['pasportKemVydan', NazvanieValidator::className()], ['pasportKemVydan', 'required'], ['pasportKogdaVydan', 'date'], ['pasportKogdaVydan', 'required'], ['propiska', SqueezeLineFilter::className()], ['propiska', NazvanieValidator::className()], ['propiska', 'required'], ['dataRozhdeniya', 'date'], ['dataRozhdeniya', 'required'], ['snils', SnilsValidator::className()], ['snils', 'required'], ['inn', InnValidator::className()], ['inn', 'required']];
 }
Example #11
0
 public function rules()
 {
     return [['kategoriiSlushatelej', 'each', 'rule' => ['integer']], ['nazvanie', SqueezeLineFilter::className()], ['nazvanie', NazvanieValidator::className()], ['rukovoditel', 'number'], ['chasy', ChasyObucheniyaValidator::className()], ['nachalo', 'date'], ['konec', 'date']];
 }