當前位置: 首頁>>代碼示例>>PHP>>正文


PHP CValidator類代碼示例

本文整理匯總了PHP中CValidator的典型用法代碼示例。如果您正苦於以下問題:PHP CValidator類的具體用法?PHP CValidator怎麽用?PHP CValidator使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了CValidator類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: validateConditional

 /**
  *
  * @param CModel $object the object to be validated
  * @param mixed $rule the rules to validate the object against
  * @return boolean false if it has errors, true otherwise
  */
 protected function validateConditional(&$object, $rule)
 {
     if (isset($rule['group'])) {
         if (is_array($rule['group'])) {
             foreach ($rule['group'] as $r) {
                 if (is_array($r)) {
                     $val = $this->validateConditional($object, $r);
                     if (!$val) {
                         return false;
                     }
                 } else {
                     continue;
                 }
             }
         } else {
             throw new \CException(\Yii::t('EConditionalValidator', 'Group must be an array of rules'));
         }
     } else {
         list($attributes, $conditionalValidator) = $rule;
         $parameters = array_splice($rule, 2);
         $validator = \CValidator::createValidator($conditionalValidator, $object, $attributes, $parameters);
         $validator->validate($object);
         if ($object->hasErrors()) {
             $object->clearErrors();
             return false;
         }
     }
     return true;
 }
開發者ID:nikel303,項目名稱:yii_conditional_validator,代碼行數:35,代碼來源:Validator.php

示例2: beforeValidate

	public function beforeValidate()
	{
	    if (parent::beforeValidate()) {

	        $validator = CValidator::createValidator('unique', $this, 'district_name', array(
	            'criteria' => array(
	                'condition'=>'city_id=:city_id',
	                'params'=>array(
	                    ':city_id'=>$this->city_id
	                )
	            )
	        ));
	        $validator2 = CValidator::createValidator('unique', $this, 'url', array(
	            'criteria' => array(
	                'condition'=>'city_id=:city_id',
	                'params'=>array(
	                    ':city_id'=>$this->city_id
	                )
	            )
	        ));
	        $this->getValidatorList()->insertAt(0, $validator); 
	        $this->getValidatorList()->insertAt(0, $validator2);

	        return true;
	    }
	    return false;
	}
開發者ID:Aplay,項目名稱:Fastreview_site,代碼行數:27,代碼來源:District.php

示例3: localConfigValueValidator

 public function localConfigValueValidator($attribute, $params)
 {
     if ($this->type == self::TYPE_INT) {
         $numericValidator = CValidator::createValidator('CNumberValidator', $this, $attribute, array('allowEmpty' => false, 'integerOnly' => true));
         $numericValidator->validate($this);
     }
 }
開發者ID:DarkAiR,項目名稱:test,代碼行數:7,代碼來源:LocalConfigItem.php

示例4: actionAdmin

 public function actionAdmin($id)
 {
     $model = new ContestEntry();
     $model->contest_id = $id;
     if (!($contest = Contest::model()->findByPk($id))) {
         throw new CHttpException(404);
     }
     $fieldsValidators = '';
     $i = 0;
     foreach (ContestField::model()->with(array('multi' => array('index' => 'id')))->findAllByAttributes(array('contest_id' => $id)) as $field) {
         if ($field->result && $field->type != 'title') {
             $this->fields[] = array('title' => $field->title, 'type' => $field->type, 'multi' => $field->multi, 'id' => $field->id);
             $fieldsValidators .= 'field_' . $i . ', ';
             if (isset($_GET['ContestEntry'])) {
                 $model->{'field_' . $i} = $_GET['ContestEntry']['field_' . $i];
             }
             $i++;
         }
     }
     $model->fields = $this->fields;
     $validators = $model->getValidatorList();
     $validators->add(CValidator::createValidator('safe', $this, substr($fieldsValidators, 0, -2)));
     if (isset($_GET['ContestEntry'])) {
         $model->id = $_GET['ContestEntry']['id'];
         $model->created_at = $_GET['ContestEntry']['created_at'];
     }
     $this->render('admin', array('model' => $model, 'contest' => $contest));
 }
開發者ID:kostya1017,項目名稱:our,代碼行數:28,代碼來源:AdminresultsController.php

示例5: validateAttribute

 /**
  * {@inheritDoc}
  * @see CValidator::validateAttribute()
  */
 public function validateAttribute($object, $attribute)
 {
     $array_to_validate = $object->{$attribute};
     if (!is_array($array_to_validate)) {
         $this->addError($object, $attribute, Yii::t('validator.array', 'The attribute "{attr}" is not an array.', array('{attr}' => $attribute)));
         return;
     }
     if ($this->minElements !== null && count($array_to_validate) < $this->minElements) {
         $this->addError($object, $attribute, Yii::t('validator.array', '{attribute} should contains at least {n} elements.', array('{n}' => $this->minElements)));
         return;
     }
     if ($this->maxElements !== null && count($array_to_validate) > $this->maxElements) {
         $this->addError($object, $attribute, Yii::t('validator.array', '{attribute} should contains at max {n} elements.', array('{n}' => $this->maxElements)));
         return;
     }
     foreach ($this->rules as $rule) {
         $name = $rule[0];
         unset($rule[0]);
         $validated_values = array();
         // extract the values to validate from object
         foreach ($array_to_validate as $key => $value) {
             $object->{$attribute} = $value;
             // for each value, set the attribute at this specific value
             $validator = CValidator::createValidator($name, $object, array($attribute), $rule);
             $validator->validate($object, array($attribute));
             // get the validated values into another array
             $validated_values[$key] = $object->{$attribute};
         }
         // set back the attribute array with the validated attributes
         $object->{$attribute} = $validated_values;
     }
 }
開發者ID:yii1-extended,項目名稱:yii1-array-validator,代碼行數:36,代碼來源:CArrayValidator.php

示例6: actionCreate

 public function actionCreate()
 {
     $model = new AttendanceAbsences();
     $modelPhoto = new ImportForm();
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (isset($_POST['AttendanceAbsences'])) {
         $model->attributes = $_POST['AttendanceAbsences'];
         $modelPhoto->attributes = $_POST['ImportForm'];
         $imgFile = CUploadedFile::getInstance($modelPhoto, 'file');
         if ($_POST['command'] == 'save') {
             $model->status = 'approved';
         }
         if ($model->doctor_note == 1) {
             if (count($imgFile) == 0) {
                 $model->validatorList->add(CValidator::createValidator('letter_required', $model, 'doctor_letter_proof'));
             }
         }
         if ($model->save()) {
             if (count($imgFile) != 0) {
                 $imgFile->saveAs(letterPaths() . $model->id . '.jpg');
             }
             if ($_POST['command'] == 'save' && $model->type != 'Late') {
                 $model->savePresence();
             }
             $this->redirect(array('index'));
         }
     }
     $this->render('create', array('model' => $model, 'modelPhoto' => $modelPhoto));
 }
開發者ID:qhyabdoel,項目名稱:hris_mujigae,代碼行數:30,代碼來源:AbsenceController.php

示例7: attach

 public function attach($owner)
 {
     parent::attach($owner);
     // Set up translatedAttributes.
     foreach ($this->attributes as $attribute) {
         foreach (Yii::app()->languageManager->suffixes as $suffix) {
             $this->_translatedAttributes[] = $attribute . $suffix;
         }
     }
     foreach ($this->_translatedAttributes as $varName) {
         $this->{$varName} = null;
     }
     // Copying validation rules.
     $rules = $owner->rules();
     $validators = $owner->getValidatorList();
     foreach (array_keys(Yii::app()->languageManager->languages) as $l) {
         if ($l != Yii::app()->sourceLanguage) {
             foreach ($this->attributes as $attr) {
                 foreach ($rules as $rule) {
                     $ruleAttributes = array_map('trim', explode(',', $rule[0]));
                     if (in_array($attr, $ruleAttributes)) {
                         $validators->add(CValidator::createValidator($rule[1], $this, $attr . '_' . $l, array_slice($rule, 2)));
                     }
                 }
             }
         }
     }
 }
開發者ID:kostya1017,項目名稱:our,代碼行數:28,代碼來源:MultilangVirtualAttributesBehavior.php

示例8: myCaptcha

 public function myCaptcha($attr, $params)
 {
     if (Yii::app()->request->isAjaxRequest) {
         return;
     }
     CValidator::createValidator('captcha', $this, $attr, $params)->validate($this);
 }
開發者ID:buildshop,項目名稱:bs-common,代碼行數:7,代碼來源:ContactForm.php

示例9: linkUnique

 /**
  * Проверка ссылки на уникальность
  *
  * @param string $attribute
  * @param array $params
  */
 public function linkUnique($attribute, $params = array())
 {
     if (!$this->hasErrors()) {
         $params['criteria'] = array('condition' => 'link = :link AND gs_id = :gs_id', 'params' => array('link' => $this->link, 'gs_id' => $this->gs_id));
         $validator = CValidator::createValidator('unique', $this, $attribute, $params);
         $validator->validate($this, array($attribute));
     }
 }
開發者ID:mmorpg2015,項目名稱:ghtweb5,代碼行數:14,代碼來源:ShopCategories.php

示例10: files

 public function files($attribute, $params)
 {
     $validator = CValidator::createValidator('file', $this, $attribute, $params);
     foreach (CUploadedFile::getInstances($this, $attribute) as $file) {
         $this->{$attribute} = $file;
         $validator->validate($this, $attribute);
     }
 }
開發者ID:Gameonn,項目名稱:JS_API,代碼行數:8,代碼來源:Reward.php

示例11: attach

 public function attach($owner)
 {
     $validators = $owner->getValidatorList();
     foreach ($this->rules() as $rule) {
         $validators->add(CValidator::createValidator($rule[1], $owner, $rule[0], array_slice($rule, 2)));
     }
     parent::attach($owner);
 }
開發者ID:nellka,項目名稱:mebel,代碼行數:8,代碼來源:SEOBehavior.php

示例12: uniqueLogin

 public function uniqueLogin($attribute, $params = array())
 {
     if (!$this->hasErrors()) {
         $params['criteria'] = array('condition' => 'login=:login', 'params' => array(':login' => $this->login));
         $validator = CValidator::createValidator('unique', $this, $attribute, $params);
         $validator->validate($this, array($attribute));
     }
 }
開發者ID:seekermain,項目名稱:forms,代碼行數:8,代碼來源:User.php

示例13: attach

 public function attach($owner)
 {
     parent::attach($owner);
     if (in_array($owner->scenario, $this->scenarios)) {
         // добавляем валидатор файла
         $fileValidator = CValidator::createValidator('file', $owner, $this->attributeName, array('types' => $this->fileTypes, 'allowEmpty' => true));
         $owner->validatorList->add($fileValidator);
     }
 }
開發者ID:resoul,項目名稱:simicom_com_ua,代碼行數:9,代碼來源:UploadableFileBehavior.php

示例14: attach

 /**
  * Создание валидатора для загружаемого изображения
  */
 public function attach($owner)
 {
     parent::attach($owner);
     $this->simpleImage = Yii::app()->simpleImage;
     if (in_array($owner->scenario, $this->scenarios)) {
         $fileValidator = CValidator::createValidator('FileValidator', $owner, $this->attributeName, array('safe' => false, 'enableClientValidation' => true, 'allowEmpty' => true, 'maxSize' => $this->maxSize, 'types' => $this->fileTypes, 'mimeTypes' => $this->mimeTypes, 'tooLarge' => Yii::t('yii', 'Размер файла "{file}" слишком велик, он не должен превышать {limit}.')));
         $owner->validatorList->add($fileValidator);
     }
 }
開發者ID:Wiedzal,項目名稱:narisuemvse,代碼行數:12,代碼來源:ImageBehavior.php

示例15: init

 public function init()
 {
     parent::init();
     if ($this->isInt()) {
         $this->model->addValidator(CValidator::createValidator('numerical', $this->model, $this->attributeName, array('on' => 'backendInsert, backendUpdate')));
     } else {
         $this->model->addValidator(CValidator::createValidator('length', $this->model, $this->attributeName, array('on' => 'backendInsert, backendUpdate', 'max' => 255)));
     }
 }
開發者ID:Cranky4,項目名稱:npfs,代碼行數:9,代碼來源:TextFieldWidget.php


注:本文中的CValidator類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。