SqlRecord
Mniej niż 1 minuta
SqlRecord
Sprawdza, czy istnieje rekord przy użyciu silnika wyszukiwań SearchEngine
.
Klasa | Walidator |
---|---|
SqlRecord | SqlRecordValidator |
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.