Przejdź do głównej treści

SqlRecord

Ready_™ Developer TeamMniej niż 1 minuta

SqlRecord

Sprawdza, czy istnieje rekord przy użyciu silnika wyszukiwań SearchEngine.

KlasaWalidator
SqlRecordSqlRecordValidator

Użycie

use Ready\Component\System\Validator\Constraint\SqlRecord;

class Validator extends BeanValidator {

    public function configure(array $contextData): MetadataInterface {
        $metadata = new ArrayMetadata();
        $metadata->addConstraintsToField('coorid', FALSE, FALSE, [
            new SqlRecord([
                'tableName'            => 'projects',
                'conditionFieldName'   => 'projnm',
                'conditionFieldType'   => SqlRecord::FIELD_TYPE_STRING_REGEX,
                'additionalConditions' => $conditions,
                'message' => \Translator::translate('Projekt o takiej nazwie {{ value }} już istnieje.'),
            ]),
        ]);
    }
}

Dostępne opcje

Aby skonfigurować regułę, trzeba przekazać tablicę jako pierwszy argument podczas tworzenia obiektu reguły.

tableName

type: string

Nazwa tabeli, w której chcemy szukać rekordu.

conditionFieldName

type: string

Nazwa pola, do którego chcemy przyrównać walidowaną wartość.

conditionFieldType

type: string default: string

Typ pola, sposób porównania wartości.

Dostępne opcje:

  • \Ready\Component\System\Validator\Constraint\SqlRecord::FIELD_TYPE_INTEGER
  • \Ready\Component\System\Validator\Constraint\SqlRecord::FIELD_TYPE_BOOLEAN
  • \Ready\Component\System\Validator\Constraint\SqlRecord::FIELD_TYPE_STRING
  • \Ready\Component\System\Validator\Constraint\SqlRecord::FIELD_TYPE_STRING_REGEX
  • \Ready\Component\System\Validator\Constraint\SqlRecord::FIELD_TYPE_DATE
  • \Ready\Component\System\Validator\Constraint\SqlRecord::FIELD_TYPE_FLOAT

additionalConditions

type: string default: true

Dodatkowe warunki SQL

message

type: string default: Pracownik o id "{{ value }}" nie istnieje.

Ta wiadomość zostanie pokazana, gdy walidowana wartość nie spełni tej reguły.