Criar regras de validação
Objetivos de aprendizagem
Após concluir esta unidade, você estará apto a:
- Descrever dois casos de uso para regras de validação.
- Listar os elementos de uma regra de validação.
- Criar uma regra de validação.
Introdução às regras de validação
As regras de validação verificam se os dados inseridos pelos usuários nos registros cumprem as normas especificadas antes de salvá-los. Uma regra de validação pode conter uma fórmula ou expressão que avalia os dados em um ou mais campos e retorna o valor “True” (Verdadeiro) ou “False” (Falso). Quando a regra de validação retorna um valor "True" (Verdadeiro), é confirmado que os dados inseridos pelo usuário contêm um valor inválido. Com base em critérios específicos, as regras de validação também podem incluir mensagens de erro a serem exibidas aos usuários quando eles inserem valores inválidos. Usar essas regras de forma eficaz contribui para a qualidade dos dados. Por exemplo, você pode garantir que todos os campos de número de telefone contenham um formato específico ou que os descontos aplicados a certos produtos nunca ultrapassem uma porcentagem definida.
Definindo regras de validação
É possível criar regras de validação para objetos, campos, membros de campanha ou marcos relevantes. Nestas etapas, criamos uma regra de validação que é acionada quando um usuário tenta salvar uma conta com um número de algarismos incorreto.
Criando uma regra de validação
- Em Setup (Configuração), acesse o Object Manager (Gerenciador de objetos) e clique em Account (Conta).
- Na barra lateral à esquerda, clique em Validation Rules (Regras de validação).
- Clique em New (Novo).
- Insira as seguintes propriedades para a sua regra de validação:
- Rule Name (Nome da regra):
Account_Number_8_Characters
- Error Condition Formula (Fórmula de condição de erro):
LEN( AccountNumber) <> 8
- Rule Name (Nome da regra):
- Error Message (Mensagem de erro):
Account number must be 8 characters long.
(O número da conta precisa ter pelo menos 8 caracteres.) - Para verificar erros na sua fórmula, clique em Check Syntax (Verificar sintaxe).
- Clique em Save (Salvar) para concluir.
É assim que uma mensagem de erro da regra de validação pode ser exibida quando um usuário insere um formato de número de conta incorreto em um campo.
Exemplos de regras de validação
Aqui estão alguns exemplos de regras de validação que você pode experimentar por si próprio.
O número da conta deve ser numérico
A função AND retorna um valor de "True" (Verdadeiro) se todos os valores na fórmula forem verdadeiros e um valor de "False" (Falso) se um ou mais valores forem falsos. A função ISBLANK determina se uma expressão contém um valor. A função ISNUMBER determina se o valor de uma expressão é um número. A função NOT retorna FALSE (FALSO) para TRUE (VERDADEIRO) e TRUE (VERDADEIRO) para FALSE (FALSO). No exemplo, a regra de validação determina se um número de conta não está em branco e não é um número. Um valor de "True" (Verdadeiro) indica que os dados inseridos pelo usuário contêm um valor inválido. Ou seja, se o usuário inserir um valor não numérico para um número de conta, a regra de validação retorna uma resposta de "True" (Verdadeiro) e envia uma mensagem de erro.
Campo |
Valor |
---|---|
Description (Descrição): |
Validates that the Account Number is numeric if not blank. (Verifica se o Número da conta é numérico, se não estiver em branco.) |
Formula (Fórmula): |
AND( NOT(ISBLANK(AccountNumber)), NOT(ISNUMBER(AccountNumber)) ) |
Error Message (Mensagem de erro): |
Account Number is not numeric. (O Número da conta não é numérico.) |
Error Location (Local do erro): |
Account Number (Número da conta) |
A data deve estar no ano atual
A função YEAR retorna o ano de quatro dígitos de determinada data. A função TODAY retorna a data atual. O operador <>
(Not Equal) (Não é igual) determina se um valor não é igual a outro valor. No exemplo, a regra de validação determina se o ano de determinada data não é igual ao ano da data de hoje. Um valor de "True" (Verdadeiro) indica que os dados inseridos pelo usuário contêm um valor inválido. Ou seja, se o usuário inserir uma data que não esteja no ano atual, a regra de validação retorna uma resposta de "True" (Verdadeiro) e envia uma mensagem de erro.
Campo |
Valor |
---|---|
Description (Descrição): |
Validates that a custom date field contains a date within the current year. (Verifica se um campo de data personalizado contém uma data do ano atual.) |
Formula (Fórmula): |
YEAR( My_Date__c ) <> YEAR ( TODAY() ) |
Error Message (Mensagem de erro): |
Date must be in the current year. (A data deve estar no ano atual.) |
Error Location (Local do erro): |
My Date (Minha data) |
Validação de intervalo de números
No exemplo, a regra de validação determina se a diferença entre dois valores (salário máximo e mínimo) é maior que US$ 20.000. Um valor de "True" (Verdadeiro) indica que os dados inseridos pelo usuário contêm um valor inválido. Ou seja, se o usuário inserir dois valores cuja diferença exceda a faixa salarial de US$ 20.000, a regra de validação retorna uma resposta de "True" (Verdadeiro) e envia uma mensagem de erro.
Campo |
Valor |
---|---|
Description (Descrição): |
Validates that the range between two custom fields, Salary Min and Salary Max, is no greater than $20,000. (Verifica se o intervalo entre dois campos personalizados, Piso salarial e Teto salarial, não é maior que US$ 20.000.) |
Formula (Fórmula): |
(Salary_Max__c - Salary_Min__c) > 20000 |
Error Message (Mensagem de erro): |
Salary range must be within $20,000. Adjust the Salary Max or Salary Min values. (O intervalo de salário deve estar dentro de US$ 20.000. Ajuste os valores de Piso salarial e Teto salarial.) |
Error Location (Local do erro): |
Salary Max (Teto salarial) |
Extensão de site da Web
A função AND retorna um valor de "True" (Verdadeiro) se todos os valores na fórmula forem verdadeiros e um valor de "False" (Falso) se um ou mais valores forem falsos. O operador <>
(Not Equal) (Não é igual) determina se um valor não é igual a outro valor. No exemplo, se o usuário insere a URL de um site com uma extensão que não é igual a todas as seis extensões válidas, a regra de validação retorna uma resposta de "True” (“Verdadeiro”) e envia uma mensagem de erro. Se o usuário insere a URL de um site com uma extensão que é igual a uma das extensões válidas, a regra de validação retorna uma resposta de "False” (“Falso”) e não envia uma mensagem de erro, porque os dados inseridos pelo usuário são válidos.
Campo |
Valor |
---|---|
Description (Descrição): |
Validates a custom field called Web Site to ensure that its last four characters are in an explicit set of valid website extensions. (Verifica um campo personalizado chamado Site da Web para se certificar de que seus quatro últimos caracteres estejam incluídos em um conjunto explícito de extensões de site válidas.) |
Formula (Fórmula): |
AND( RIGHT( Web_Site__c, 4) <> ".COM", RIGHT( Web_Site__c, 4) <> ".com", RIGHT( Web_Site__c, 4) <> ".ORG", RIGHT( Web_Site__c, 4) <> ".org", RIGHT( Web_Site__c, 4) <> ".NET", RIGHT( Web_Site__c, 4) <> ".net" ) |
Error Message (Mensagem de erro): |
Web Site must have an extension of .com, .org, or .net. (O Site da Web deve ter uma extensão .com, .org ou .net.) |
Error Location (Local do erro): |
Web Site (Site da Web) |
País válido para cobrança
A função OR retorna uma resposta de "True" (Verdadeiro) se uma ou mais expressões na fórmula forem verdadeiras e retorna uma resposta de "False" (Falso) se todas as expressões forem falsas. A função LEN retorna o número de caracteres em uma sequência de texto especificada. No exemplo, a regra de validação determina se o valor que o usuário inseriu para um código de país de cobrança é um caractere (em vez dos dois obrigatórios) ou não contém um dos códigos de dois caracteres válidos. Se uma dessas condições for verdadeira, a regra de validação retorna um valor de "True" (Verdadeiro) e envia uma mensagem de erro. Se o usuário insere um código de país de cobrança válido, ambas as expressões na fórmula são falsas: o LEN não é 1, e os dados contêm um dos valores válidos. Nesse caso, a regra de validação retorna um valor de "False" (Falso) e não envia uma mensagem de erro.
Campo |
Valor |
---|---|
Description (Descrição): |
Validates that the account Billing Country is a valid ISO 3166 two-letter code. (Verifica se o País de cobrança da conta é um código de duas letras ISO 3166 válido.) |
Formula (Fórmula): |
OR( LEN(BillingCountry) = 1, NOT( CONTAINS( "AF:AX:AL:DZ:AS:AD:AO:AI:AQ:AG:AR:AM:" & "AW:AU:AZ:BS:BH:BD:BB:BY:BE:BZ:BJ:BM:BT:BO:" & "BA:BW:BV:BR:IO:BN:BG:BF:BI:KH:CM:CA:CV:KY:" & "CF:TD:CL:CN:CX:CC:CO:KM:CG:CD:CK:CR:CI:HR:" & "CU:CY:CZ:DK:DJ:DM:DO:EC:EG:SV:GQ:ER:EE:ET:FK:" & "FO:FJ:FI:FR:GF:PF:TF:GA:GM:GE:DE:GH:GI:GR:GL:" & "GD:GP:GU:GT:GG:GN:GW:GY:HT:HM:VA:HN:HK:HU:" & "IS:IN:ID:IR:IQ:IE:IM:IL:IT:JM:JP:JE:JO:KZ:KE:KI:" & "KP:KR:KW:KG:LA:LV:LB:LS:LR:LY:LI:LT:LU:MO:MK:" & "MG:MW:MY:MV:ML:MT:MH:MQ:MR:MU:YT:MX:FM:MD:MC:" & "MC:MN:ME:MS:MA:MZ:MM:MA:NR:NP:NL:AN:NC:NZ:NI:" & "NE:NG:NU:NF:MP:NO:OM:PK:PW:PS:PA:PG:PY:PE:PH:" & "PN:PL:PT:PR:QA:RE:RO:RU:RW:SH:KN:LC:PM:VC:WS:" & "SM:ST:SA:SN:RS:SC:SL:SG:SK:SI:SB:SO:ZA:GS:ES:" & "LK:SD:SR:SJ:SZ:SE:CH:SY:TW:TJ:TZ:TH:TL:TG:TK:" & "TO:TT:TN:TR:TM:TC:TV:UG:UA:AE:GB:US:UM:UY:UZ:" & "VU:VE:VN:VG:VI:WF:EH:YE:ZM:ZW", BillingCountry))) |
Error Message (Mensagem de erro): |
A valid two-letter country code is required. (É necessário um código de país de duas letras válido.) |
Error Location (Local do erro): |
Billing Country (País de cobrança) |
Recursos
-
Ajuda do Salesforce: Regras de validação
-
Ajuda do Salesforce: Managing Validation Rules
-
Ajuda do Salesforce: Tips for Writing Validation Rules
-
Ajuda do Salesforce: Operações e funções de fórmula por contexto