Tutoriais:Obrigatoriedades
Quando um usuário loga no site, todas as obrigatoriedades das classes são carregadas e, antes de gravar um registro, esta obrigatoriedade é validada. Para definir estas obrigatoriedades, basta preencher os dados da tabela SITE_OBRIGATORIEDADE.
O primeiro campo é o autoincremento da tabela. (O autoincremento deve ser feito manualmente)
O Segundo Campo é a Classe do Cadastro.
O Terceiro Campo é o atributo a ser verificado.
O Quarto Campo é a condição para a classe ser aceita.
O Quinto Campo é o valor condicionado para ser aceito.
O Sexto Campo é a Mensagem a ser apresentada para o usuário, caso o registro não esteja válido.
Analisando o primeiro registro, na imagem acima, é possível notar que o atributo banco do pedido de venda deve ser maior que zero, caso contrário, exibirá a mensagem "Por favor, informe o banco!". É o que acontece ao tentar gravar o pedido abaixo:
Para o caso de obrigatoriedade, é necessário conhecer o código fonte do site, portanto deve ser criado por um desenvolvedor. Mas a cada obrigatoriedade criada, sua SQL INSERT ficará disponível aqui para facilitar!
SQLs de Obrigatoriedade do Site
/** Nome do Consumidor da Assistência Técnica **/
INSERT INTO SITE_OBRIGATORIEDADE (AUTOINC_SO, CLASSE_SO, ATRIBUTO_SO, CONDICAO_SO, VALOR_SO, MENSAGEM_SO) VALUES (AUTOINCREMENTO, 'PedidoAssistencia', 'Pedido.dadosUmParaUm.nomePessoaConsumidor.length', '>', '0', 'O nome do consumidor deve ser informado!');
/** CPF ou CNPJ do Consumidor da Assistência Técnica **/
INSERT INTO SITE_OBRIGATORIEDADE (AUTOINC_SO, CLASSE_SO, ATRIBUTO_SO, CONDICAO_SO, VALOR_SO, MENSAGEM_SO) VALUES (AUTOINCREMENTO, 'PedidoAssistencia', 'Pedido.dadosUmParaUm.CNPJOuCPFPessoaConsumidor.length', '>', '0', 'O CPF ou CNPJ do consumidor deve ser informado!');
/** Obrigar o usuário a informar a cidade do endereço **/
INSERT INTO SITE_OBRIGATORIEDADE (AUTOINC_SO, CLASSE_SO, ATRIBUTO_SO, CONDICAO_SO, VALOR_SO, MENSAGEM_SO) VALUES (AUTOINCREMENTO, , 'Cliente', 'Pessoa_Endereco.dados.0.cidade.codigo', '>', '0', 'Informe a cidade do endereço!');
/** Obriga informar o apelido/nome fantasia do cliente **/
INSERT INTO SITE_OBRIGATORIEDADE (AUTOINC_SO, CLASSE_SO, ATRIBUTO_SO, CONDICAO_SO, VALOR_SO, MENSAGEM_SO) VALUES (AUTOINCREMENTO, 'Cliente', 'nomeFantasia.length', '>', '0', 'Informe o Apelido/Nome Fantasia!');
/** Obriga informar o nome do comprador na aba pessoa juridica **/
INSERT INTO SITE_OBRIGATORIEDADE (AUTOINC_SO, CLASSE_SO, ATRIBUTO_SO, CONDICAO_SO, VALOR_SO, MENSAGEM_SO) VALUES (AUTOINCREMENTO, 'Cliente', 'Pessoa_Juridica.dadosUmParaUm.nomeComprador.length', '>', '0', 'Informe o Nome do Comprador!');
/** Obriga informar a data de nascimento do comprador na aba pessoa juridica **/
INSERT INTO SITE_OBRIGATORIEDADE (AUTOINC_SO, CLASSE_SO, ATRIBUTO_SO, CONDICAO_SO, VALOR_SO, MENSAGEM_SO) VALUES (AUTOINCREMENTO, 'Cliente', 'Pessoa_Juridica.dadosUmParaUm.dataNascimentoComprador.length', '>', '0', 'Informe a Data de Nascimento do Comprador!');
/** Obriga informar a região do endereço principal **/
INSERT INTO SITE_OBRIGATORIEDADE (AUTOINC_SO, CLASSE_SO, ATRIBUTO_SO, CONDICAO_SO, VALOR_SO, MENSAGEM_SO) VALUES (AUTOINCREMENTO, 'Cliente', 'Pessoa_Endereco.dados.0.regiao.codigo', '>', '0', 'Informe a região do endereço principal!');
/** Obriga informar a região do endereço principal **/
INSERT INTO SITE_OBRIGATORIEDADE (AUTOINC_SO, CLASSE_SO, ATRIBUTO_SO, CONDICAO_SO, VALOR_SO, MENSAGEM_SO) VALUES (AUTOINCREMENTO, 'Cliente', 'Pessoa_Endereco.dados.0.regiao.codigo', '>', '0', 'Informe a região do endereço principal!');
/** Obriga informar a região estatística **/
INSERT INTO SITE_OBRIGATORIEDADE (AUTOINC_SO, CLASSE_SO, ATRIBUTO_SO, CONDICAO_SO, VALOR_SO, MENSAGEM_SO) VALUES (AUTOINCREMENTO, 'Cliente', 'regiao.codigo', '>', '0', 'Informe a região estatística!');
/** Obriga informar o telefone no endereço do cliente **/
INSERT INTO SITE_OBRIGATORIEDADE (AUTOINC_SO, CLASSE_SO, ATRIBUTO_SO, CONDICAO_SO, VALOR_SO, MENSAGEM_SO) VALUES (AUTOINCREMENTO, 'Cliente', 'Pessoa_Endereco.dados.0.Pessoa_Telefone.dados.length', '>', '0', 'Informe o telefone do endereço!');
/** Obriga informar o email do cliente **/
INSERT INTO SITE_OBRIGATORIEDADE (AUTOINC_SO, CLASSE_SO, ATRIBUTO_SO, CONDICAO_SO, VALOR_SO, MENSAGEM_SO) VALUES (AUTOINCREMENTO, 'Cliente', 'Pessoa_EMail.dados.length', '>', '0', 'Informe um email para o cliente!');
/** Obriga informar algum prazo no pedido de venda **/
INSERT INTO SITE_OBRIGATORIEDADE (AUTOINC_SO, CLASSE_SO, ATRIBUTO_SO, CONDICAO_SO, VALOR_SO, MENSAGEM_SO) VALUES (AUTOINCREMENTO, 'PedidoVenda', 'Prazos.dados.length', '>', '0', 'Informe o prazo do pedido!');
/** Obriga informar pelo menos uma referência no cadastro de cliente. Se quiser, aumente o valor para obrigar mais referências **/
INSERT INTO SITE_OBRIGATORIEDADE (AUTOINC_SO, CLASSE_SO, ATRIBUTO_SO, CONDICAO_SO, VALOR_SO, MENSAGEM_SO) VALUES (AUTOINCREMENTO, 'Cliente', 'Pessoa_Referencia.dados.length', '>', '0', 'Informe pelo menos uma referência!');