function check($value)
 {
     $criteria = new lmbSQLFieldCriteria($this->field_name, $value);
     if (!$this->user->isNew()) {
         $criteria->addAnd('id <> ' . $this->user->getId());
     }
     if (lmbActiveRecord::findOne('lmbCmsUser', $criteria)) {
         $this->error('Пользователь со значением поля {Field} уже существует');
     }
 }
 function check($value)
 {
     $criteria = new lmbSQLFieldCriteria($this->field_name, $value);
     if ($this->text_block->getId()) {
         $criteria->addAnd('id <> ' . $this->text_block->getId());
     }
     if (lmbActiveRecord::findOne('lmbCmsTextBlock', $criteria)) {
         $this->error('Тектовый блок со значением поля {Field} уже существует');
     }
 }
 function testNestedCriterias()
 {
     $c1 = new lmbSQLFieldCriteria('name', "Leo");
     $c2 = new lmbSQLFieldCriteria('last_name', array("Tolstoy", "Dostoevsky", "Bakhtin"), lmbSQLFieldCriteria::IN);
     $c3 = new lmbSQLFieldCriteria('age', 36);
     $c1->addOr($c2->addAnd($c3));
     $this->assertEqual($c1->toStatementString($values, $this->conn), "'name'=:p0name: OR ('last_name' IN (:p0_p1last_name:,:p1_p1last_name:,:p2_p1last_name:) AND 'age'=:p4age:)");
     $this->assertEqual($values, array('p0name' => "Leo", 'p0_p1last_name' => "Tolstoy", 'p1_p1last_name' => "Dostoevsky", 'p2_p1last_name' => "Bakhtin", 'p4age' => 36));
 }