コード例 #1
0
ファイル: lmbCmsSeo.class.php プロジェクト: snowjobgit/limb
 protected function _createValidator()
 {
     lmb_require('limb/cms/src/validation/rule/lmbCmsUniqueFieldRule.class.php');
     $validator = new lmbValidator();
     $validator->addRequiredRule('title', '"Title" обязательное поле');
     $validator->addRequiredRule('url', '"Url" обязательное поле');
     $validator->addRule(new lmbCmsUniqueFieldRule('url', 'lmbCmsSeo', $this, '"Url" должен быть уникальным'));
     return $validator;
 }
コード例 #2
0
 /**
  * @return lmbValidator
  */
 protected function _createValidator()
 {
     $validator = new lmbValidator();
     $validator->addRequiredRule('identifier', 'Поле "Идентификатор" обязательно для заполнения');
     $validator->addRequiredRule('content', 'Поле "Текст" обязательно для заполнения');
     lmb_require('limb/cms/src/validation/rule/lmbCmsTextBlockUniqueFieldRule.class.php');
     $validator->addRule(new lmbCmsTextBlockUniqueFieldRule('identifier', $this, 'Текстовый блок со значением поля "Идентификатор" уже существует'));
     return $validator;
 }
コード例 #3
0
 function testAddRulesAndValidate()
 {
     $validator = new lmbValidator();
     $ds = new lmbSet(array('foo'));
     $r1 = new MockValidationRule();
     $r2 = new MockValidationRule();
     $this->validator->addRule($r1);
     $this->validator->addRule($r2);
     $this->assertTrue($validator->validate($ds));
 }
コード例 #4
0
 /**
  * @param lmbCmsUser $user
  */
 protected function _validatePasswordFields($user)
 {
     $validator = new lmbValidator($this->error_list);
     $validator->addRequiredRule('password', 'Поле "Пароль" обязательно для заполнения');
     $validator->addRequiredRule('repeat_new_password', 'Поле "Подтверждение пароля" обязательно для заполнения');
     if (!$user->isPasswordCorrect($this->request->get('password'))) {
         $this->error_list->addError("Выбран некорректный пароль");
     }
     $validator->addRule(new lmbMatchRule('password', 'repeat_password', 'Значения полей "Пароль" и "Подтверждение пароля" не совпадают'));
     $validator->validate($this->request);
 }
コード例 #5
0
ファイル: lmbCmsUser.class.php プロジェクト: snowjobgit/limb
 /**
  * @return lmbValidator
  */
 protected function _createValidator()
 {
     $validator = new lmbValidator();
     $validator->addRequiredRule('name', 'Поле "Имя" обязательно для заполнения');
     $validator->addRequiredRule('login', 'Поле "Логин" обязательно для заполнения');
     $validator->addRequiredRule('email', 'Поле "E-mail" обязательно для заполнения');
     lmb_require('limb/cms/src/validation/rule/lmbCmsUserUniqueFieldRule.class.php');
     $validator->addRule(new lmbCmsUserUniqueFieldRule('login', $this));
     $validator->addRule(new lmbCmsUserUniqueFieldRule('email', $this));
     lmb_require('limb/validation/src/rule/lmbEmailRule.class.php');
     $validator->addRule(new lmbEmailRule('email', 'Неверный формат поля "E-mail"'));
     return $validator;
 }
コード例 #6
0
 /**
  * Main function for building rules.
  *
  * @param array $rules_lists - list (array) of rules' lists, $field => $list.
  * List of rules can be a string:
  * 	$rules_lists['field'] = 'rule1|rule2|rule3';
  * or an array:
  * 	$rules_lists['field'] = array($rule1, $rule2, $rule3);
  * 
  * Rules can be in several formats:
  * 	$rule['field'] = array(
  * 		'rule1[param1, param2]',  // simple rule format - rule, followed by optional params in square brackets
  * 		'rule2[param1]' => 'error2',  // extended rule format, simple rule format => error message.
  * 		'rule3' => 'error3'
  * 	);  
  * 
  * @param object  $validator  (optional)
  */
 static function addRules($rules_lists, lmbValidator $validator)
 {
     if (!is_array($rules_lists)) {
         return;
     }
     foreach ($rules_lists as $field => $list) {
         if (is_string($list)) {
             $list = explode('|', $list);
         }
         foreach ($list as $rule_name => $rule) {
             $args = '';
             if (is_string($rule_name)) {
                 $args = $rule;
                 $rule = $rule_name;
             }
             if ($object_rule = self::parseRule($field, $rule, $args)) {
                 $validator->addRule($object_rule);
             }
         }
     }
 }
コード例 #7
0
 function _createValidator()
 {
     $validator = new lmbValidator();
     $validator->addRequiredRule('title', 'Поле "Заголовок" обязательно для заполнения');
     $validator->addRequiredRule('content', 'Поле "Текст" обязательно для заполнения');
     $validator->addRequiredRule('identifier', 'Поле "Идентификатор" обязательно для заполнения');
     lmb_require('limb/cms/src/validation/rule/lmbTreeIdentifierRule.class.php');
     $validator->addRule(new lmbTreeIdentifierRule('identifier'));
     return $validator;
 }
コード例 #8
0
 function testErrorListIsSharedWithCollection()
 {
     $user = $this->creator->initUser();
     $group = new GroupForTest();
     $validator = new lmbValidator();
     $validator->addRequiredRule('title');
     $group->setValidator($validator);
     $user->addToGroups($group);
     $error_list = new lmbErrorList();
     $this->assertFalse($user->trySave($error_list));
 }
コード例 #9
0
 function validate($dataspace)
 {
     $this->validator->validate($dataspace);
     return $this->validator->isValid();
 }
コード例 #10
0
 function _createValidator()
 {
     $validator = new lmbValidator();
     $validator->addRequiredObjectRule('social_security');
     return $validator;
 }
コード例 #11
0
 function testErrorListIsSharedWithCollection()
 {
     $course = $this->_initCourse();
     $l = new LectureForTest();
     $validator = new lmbValidator();
     $validator->addRequiredRule('title');
     $l->setValidator($validator);
     $course->addToLectures($l);
     $error_list = new lmbErrorList();
     $this->assertFalse($course->trySave($error_list));
 }
コード例 #12
0
 function testValidateEmpty()
 {
     $validator = new lmbValidator();
     $this->assertTrue($validator->validate(new lmbSet()));
 }
コード例 #13
0
 protected function _createValidator()
 {
     $validator = new lmbValidator();
     $validator->addRequiredRule('field');
     return $validator;
 }
コード例 #14
0
 function _createValidator()
 {
     $validator = new lmbValidator();
     $validator->addRequiredRule('extra');
     return $validator;
 }