functions.validate_document
1import streamlit as st 2 3 4class Documents: 5 """ 6 Classe responsável pela validação de documentos. 7 """ 8 9 def validate_credit_card(self, card_number: str): 10 """ 11 Realiza a validação dos cartões de crédito. 12 13 Parameters 14 ---------- 15 card_number : str 16 O número do cartão de crédito. 17 18 Returns 19 ------- 20 boolean 21 Se o número do cartão é ou não válido. 22 """ 23 24 total = 0 25 26 st.info('Validando cartão...') 27 28 if (len(card_number) != 16): 29 return False 30 31 for i in range(0, 16, 2): 32 accumulated = int(card_number[i]) * 2 33 if (accumulated > 9): 34 accumulated = accumulated - 9 35 total = total + accumulated 36 37 for i in range(1, 17, 2): 38 total = total + int(card_number[i]) 39 40 if ((total % 10) != 0 or total > 150): 41 return False 42 43 return True 44 45 def validate_owner_document(self, owner_document: str): 46 """ 47 Realiza a validação do documento do usuário. 48 49 Parameters 50 ---------- 51 owner_document : str 52 O documento do usuário. 53 54 Returns 55 ------- 56 boolean 57 Se o documento do usuário é ou não válido. 58 """ 59 60 if len(owner_document) != 11: 61 st.error(body="O documento pessoal não tem menos e nem mais que 11 caracteres.") 62 return False 63 else: 64 st.info(body="Validando documento...") 65 owner_document_list = [] 66 for i in range(0, len(owner_document)): 67 owner_document_list.append(owner_document[i]) 68 69 first_counter = 10 70 first_sum_value = 0 71 72 for i in range(0, 9): 73 first_sum_value += int( 74 owner_document_list[i]) * first_counter 75 first_counter = first_counter - 1 76 77 first_division_rest = (first_sum_value * 10) % 11 78 79 second_counter = 11 80 second_sum_value = 0 81 82 for i in range(0, 9): 83 second_sum_value += int( 84 owner_document_list[i]) * second_counter 85 second_counter = second_counter - 1 86 87 second_sum_value += first_division_rest * second_counter 88 89 second_division_rest = (second_sum_value * 10) % 11 90 91 if first_division_rest == int(owner_document_list[9]) and second_division_rest == int(owner_document_list[10]): 92 st.success(body="Documento válido.") 93 return True 94 else: 95 st.error(body="Documento inválido.") 96 return False
class
Documents:
5class Documents: 6 """ 7 Classe responsável pela validação de documentos. 8 """ 9 10 def validate_credit_card(self, card_number: str): 11 """ 12 Realiza a validação dos cartões de crédito. 13 14 Parameters 15 ---------- 16 card_number : str 17 O número do cartão de crédito. 18 19 Returns 20 ------- 21 boolean 22 Se o número do cartão é ou não válido. 23 """ 24 25 total = 0 26 27 st.info('Validando cartão...') 28 29 if (len(card_number) != 16): 30 return False 31 32 for i in range(0, 16, 2): 33 accumulated = int(card_number[i]) * 2 34 if (accumulated > 9): 35 accumulated = accumulated - 9 36 total = total + accumulated 37 38 for i in range(1, 17, 2): 39 total = total + int(card_number[i]) 40 41 if ((total % 10) != 0 or total > 150): 42 return False 43 44 return True 45 46 def validate_owner_document(self, owner_document: str): 47 """ 48 Realiza a validação do documento do usuário. 49 50 Parameters 51 ---------- 52 owner_document : str 53 O documento do usuário. 54 55 Returns 56 ------- 57 boolean 58 Se o documento do usuário é ou não válido. 59 """ 60 61 if len(owner_document) != 11: 62 st.error(body="O documento pessoal não tem menos e nem mais que 11 caracteres.") 63 return False 64 else: 65 st.info(body="Validando documento...") 66 owner_document_list = [] 67 for i in range(0, len(owner_document)): 68 owner_document_list.append(owner_document[i]) 69 70 first_counter = 10 71 first_sum_value = 0 72 73 for i in range(0, 9): 74 first_sum_value += int( 75 owner_document_list[i]) * first_counter 76 first_counter = first_counter - 1 77 78 first_division_rest = (first_sum_value * 10) % 11 79 80 second_counter = 11 81 second_sum_value = 0 82 83 for i in range(0, 9): 84 second_sum_value += int( 85 owner_document_list[i]) * second_counter 86 second_counter = second_counter - 1 87 88 second_sum_value += first_division_rest * second_counter 89 90 second_division_rest = (second_sum_value * 10) % 11 91 92 if first_division_rest == int(owner_document_list[9]) and second_division_rest == int(owner_document_list[10]): 93 st.success(body="Documento válido.") 94 return True 95 else: 96 st.error(body="Documento inválido.") 97 return False
Classe responsável pela validação de documentos.
def
validate_credit_card(self, card_number: str):
10 def validate_credit_card(self, card_number: str): 11 """ 12 Realiza a validação dos cartões de crédito. 13 14 Parameters 15 ---------- 16 card_number : str 17 O número do cartão de crédito. 18 19 Returns 20 ------- 21 boolean 22 Se o número do cartão é ou não válido. 23 """ 24 25 total = 0 26 27 st.info('Validando cartão...') 28 29 if (len(card_number) != 16): 30 return False 31 32 for i in range(0, 16, 2): 33 accumulated = int(card_number[i]) * 2 34 if (accumulated > 9): 35 accumulated = accumulated - 9 36 total = total + accumulated 37 38 for i in range(1, 17, 2): 39 total = total + int(card_number[i]) 40 41 if ((total % 10) != 0 or total > 150): 42 return False 43 44 return True
Realiza a validação dos cartões de crédito.
Parameters
- card_number (str): O número do cartão de crédito.
Returns
- boolean: Se o número do cartão é ou não válido.
def
validate_owner_document(self, owner_document: str):
46 def validate_owner_document(self, owner_document: str): 47 """ 48 Realiza a validação do documento do usuário. 49 50 Parameters 51 ---------- 52 owner_document : str 53 O documento do usuário. 54 55 Returns 56 ------- 57 boolean 58 Se o documento do usuário é ou não válido. 59 """ 60 61 if len(owner_document) != 11: 62 st.error(body="O documento pessoal não tem menos e nem mais que 11 caracteres.") 63 return False 64 else: 65 st.info(body="Validando documento...") 66 owner_document_list = [] 67 for i in range(0, len(owner_document)): 68 owner_document_list.append(owner_document[i]) 69 70 first_counter = 10 71 first_sum_value = 0 72 73 for i in range(0, 9): 74 first_sum_value += int( 75 owner_document_list[i]) * first_counter 76 first_counter = first_counter - 1 77 78 first_division_rest = (first_sum_value * 10) % 11 79 80 second_counter = 11 81 second_sum_value = 0 82 83 for i in range(0, 9): 84 second_sum_value += int( 85 owner_document_list[i]) * second_counter 86 second_counter = second_counter - 1 87 88 second_sum_value += first_division_rest * second_counter 89 90 second_division_rest = (second_sum_value * 10) % 11 91 92 if first_division_rest == int(owner_document_list[9]) and second_division_rest == int(owner_document_list[10]): 93 st.success(body="Documento válido.") 94 return True 95 else: 96 st.error(body="Documento inválido.") 97 return False
Realiza a validação do documento do usuário.
Parameters
- owner_document (str): O documento do usuário.
Returns
- boolean: Se o documento do usuário é ou não válido.