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.