Class Phalcon\Validation\Validator\Uniqueness

расширяет абстрактный класс Phalcon\Validation\Validator

Реализует Phalcon\Validation\ValidatorInterface

Source on GitHub

Проверяет,  уникальность поля в соответствующей таблице

<?php

use Phalcon\Validation;
use Phalcon\Validation\Validator\Uniqueness as UniquenessValidator;

$validator = new Validation();

$validator->add(
    "username",
    new UniquenessValidator(
        [
            "model"   => new Users(),
            "message" => ":поле должно быть уникальным",
        ]
    )
);

Другой атрибут из поля:

<?php

$validator->add(
    "username",
    new UniquenessValidator(
        [
            "model"     => new Users(),
            "attribute" => "nick",
        ]
    )
);

В моделях:

<?php

$validator->add(
    "username",
    new UniquenessValidator()
);

Сочетание полей в модели:

<?php

$validator->add(
    [
        "firstName",
        "lastName",
    ],
    new UniquenessValidator()
);

Можно преобразовать значения перед проверкой. Это полезно в ситуациях, когда для поиска в базе данных необходимо преобразовать значения:

<?php

$validator->add(
    "username",
    new UniquenessValidator(
        [
            "convert" => function (array $values) {
                $values["username"] = strtolower($values["username"]);

                return $values;
            }
        ]
    )
);

Методы

public validate (Phalcon\Validation $validation, mixed $field)

Выполняет проверку

protected isUniqueness (Phalcon\Validation $validation, mixed $field)

...

protected getColumnNameReal (mixed $record, mixed $field)

Карта столбцов используется в случае, чтобы получить реальное имя столбца

protected isUniquenessModel (mixed $record, array $field, array $values)

Метод уникальности, используемый для модели

protected isUniquenessCollection (mixed $record, array $field, array $values)

Метод уникальности, используемый для коллекции

public __construct ([array $options]) наследуется от Phalcon\Validation\Validator

Phalcon\Validation\Validator конструктор

public isSetOption (mixed $key) наследуется от Phalcon\Validation\Validator

Проверяет, была ли опция определена

public hasOption (mixed $key) наследуется от Phalcon\Validation\Validator

Проверяет, определена ли опция

public getOption (mixed $key, [mixed $defaultValue]) наследуется от Phalcon\Validation\Validator

Возвращает опцию в параметрах валидатора Возвращает null, если параметр не задан

public setOption (mixed $key, mixed $value) наследуется от Phalcon\Validation\Validator

Устанавливает параметр в валидаторе

protected prepareLabel (Phalcon\Validation $validation, mixed $field) наследуется от Phalcon\Validation\Validator

Подготавливает метку для поля.

protected prepareMessage (Phalcon\Validation $validation, mixed $field, mixed $type, [mixed $option]) наследуется от Phalcon\Validation\Validator

Подготавливает сообщение проверки.

protected prepareCode (mixed $field) наследуется от Phalcon\Validation\Validator

Подготавливает код проверки.