Знакомство с Validation Rule

В этой статье я расскажу о том что такое Validation rule в Salesforce! Статья поможет разобраться тем кто ещё не имел опыта с validation rule и только начинает разбираться.

1. Вступление
2. Что такое Validation Rule
3. Как работает Validation Rule
4. Как создать Validation Rule
5. Заключение

Вступление

Для каждого поля в Salesforce определяется свой тип, некоторые созданы по умолчанию и их уже не изменишь, а не которые создаёте вы сами. Тип поля определяет какие данные будут храниться в нём. Своего рода защита от возможности ввести не те данные. Представьте сколько проблем бы вызывал тот факт, что в поле которое должно содержать целочисленное значение, например количество отработанных работником часов, вдруг окажется текст, дата или вообще булевское значение. Определив тип, вы сделали первый барьер, что же делать если в числе отработанных часов у работника вдруг окажется отрицательное значение? Например -3. Здесь нам и понадобится Validation rule который поможет избежать нежелательных значений в полях объекта.

Что такое Validation Rule

Что бы лучше представить роль Validation Rule в Salesforce, возьмём для примера таможенный контроль в аэропорту.

У каждого человека есть свои параметры и багаж, они и будут представлять собой входящие данные в базу данных salesforce.
В частности всегда присутствуют свои правила касательно того какие предметы можно брать с собой на борт самолёта и перевозить в багаже. И все люди проходят проверку на торможенном контроле. В нашем случае Validation rule проверяет входящие данные, так же как и таможенный контроль проверяет багаж людей перед посадкой на самолёт. Validation rule тоже имеет свои установленные правила и критерии, и в соответствии с ними решает сохранять данные или отказаться, при отказе Validation rule укажет причину, так же как и в аэропорту в случае проблем с багажом пассажира.
Хотел бы отметить что как аэропорт обычно относится к какой-нибудь стране, так и validation rule относится к конкретному объекту.

Как работает Validation Rule

Срабатывает Validation rule автоматически, он всегда на страже того что бы данные были валидными! Но когда же он срабатывает ? Каждый раз когда вы создаёте или обновляете данные какого-нибудь объекта и пытаетесь их сохранить то срабатывает Validation rule, т.е он срабатывает всегда при сохранении.

Проверка Validation rule позволяет использовать большой набор полей. Вы выбираете одно или несколько полей, указываете значения и условия которым они должны соответствовать. Как например в аэропорту проверяют вес вашей ручной клади которая должна быть не больше 10 кг.

Сообщение об ошибке Validation rule показывает в том случае, если условия заданные в нём вернут истину. То есть когда задаёте условия, то нужно писать не то какими данные должны быть для пропуска, а то какие данные НЕ ДОЛЖНЫ проходить валидацию. Как например если бы мы писали правило для ручной клади то условия были бы такими: вес ручной клади > 10.
image

Так же вы в праве указать место где будет выведена ошибка.

Как создать Validation Rule

Давайте перейдём к созданию validation rule, у меня уже существует объект Hand Luggage(ручная кладь) и поле Weight(вес). Я создам Validation rule который не позволит сохранить запись типа Hand Luggage если её вес больше 10 килограмм.

  1. На объекте переходим в раздел Validation Rules и нажимаем New.
  2. Указываем имя для Validation rule. Rule Name : Luggage weight check
  3. Указываем условия проверки. Нажав на кнопку Insert field откроется окно с выбором полей, там в разделе с именем вашего объекта выберите необходимое вам поле. Я выбрал поле Weight.
  4. Указываем условия для этого поля, в моём случае я пишу Weight > 10
  5. Обязательным является сообщение об ошибке, и место вывода сообщения. Error message и Error Location
  6. Если указали Error message и Error Location, то нажимаем Save.

Теперь давайте проверим, работает ли Validation rule. Создадим запись Hand Luggage указав вес больше 10-ти килограмм. Указав, вес в 12 килограмм, я получил ошибку.

Заключение

Validation rule срабатывает при сохранении записи и проверяет значения полей на валидность. Условия проверки могут содержать множество функций, среди них: Data&Time, Logical, Math, Text и Advanced которая содержит такие функции как IsChanged и т.п.
Обязательными является указать сообщение об ошибке и его расположение. Используйте Validation rule для того что бы избежать нежелательных значений в записях вашей организации. Создавайте свои фильтры для проверки не прибегая к использованию Apex кода.

2 Likes