Linked Inputs
This module Interconnects a couple of flet inputs, actually, it combines the value of the inputs and manages them.
This module can be used to make "pin inputs" and so on.
Instalation
first of all get the project from pypi or github:
cloning form github
clone https://github.com/naderidev/linkedinputs
installing using pip
$ pip install linkedinputs
Usage
LinkedInputs
The LinkedInputs class is the mother class and the basic form of the module.
this class just have the input type rule.
Properties
page
inputs : the list of Inputs to be connected
accept_type : an instance of AcceptTypes which specifies the content type of inputs
on_change: on inputs value changed. actually, it returns the value of each input in a list
on_error: on user entered the wrong value type
on_complete: on all inputs filled
place: a Row or Column control without any child controls
Methods
-
errors: only returns the error of each input in a list
-
flash_errors(): returns the errors then clears the errors
-
value: returns the value of each input and also it has a setter which you can set a specific value for each input. for example:
...
linkedinputs.value = ['124' , '457' , '478']
...
this is an example is when you have 3 inputs which they require ONLY_NUMBER
-
string_value: combines the value of inputs and returns it as a string
RegularLinkedInputs
the RegularLinkedInputs class has defined new rules (like accept_length) for the LinkedInputs class and ordered it.
Properties
- all
LinkedInputs properties
accept_length: the value lenght of each input
one_by_one: o to the next input on current, filled
an example of RegularLinkedInputs:
source avliable in examples/bankcard_example.py
In this example when you enter 6 numbers, the associated bank name is displayed (the banks are Iranian)
PinInputT1
the PinInputT1 is using RegularLinkedInputs and it is used to making password inputs
Properties
page
accept_type : an instance of AcceptTypes which specifies the content type of inputs
correct_answer: the correct password for validating
on_complete: on all inputs filled
accept_length: the value lenght of each input
Methods
- all
RegularLinkedInputs methods
is_correct: is password correct
Note: if you want to customize the piniput inputs just ceate a class and extend PinInputT1 then override pin_inputs() method with your own inputs. for example:
class MyPinInput(PinInputT1):
def pin_inputs(self):
return [
TextField(
...
) for _ in range(...)
]
an example of PinInputT1:
source avliable in examples/pininput_t1_example.py

Hope this package be useful for you :)
Donating