dynamic_form

Creator: coderz1093

Last updated:

0 purchases

dynamic_form Image
dynamic_form Images

Languages

Categories

Add to Cart

Description:

dynamic form

dynamicform #

create your form with easier way
Getting Started #

Generate custom form
Form Controller to manage form
login Form
payment form
Pre-existing elements

Installing #
Add the following to your pubspec.yaml file:
dependencies:
dynamic_form: ^0.23.0
copied to clipboard
Simple Usage #
Creating a basic SimpleDynamicForm:
SimpleDynamicForm(
controller: controller,
groupElements: [
GroupElement(
directionGroup: DirectionGroup.Vertical,
textElements: [
TextElement(
id:"name",
label: "name",
),
TextElement(
id:"password",
label: "password",
typeInput: TypeInput.Password,
)
],
)
],
);
copied to clipboard
Properties in SimpleDynamicForm



Properties
Description




groupElements
list of element to build your form


padding
The amount of space by which to inset the form


controller
The FormController to get values and validate your form


submitButton
(Widget) custom submit Widget that you want to add to the form



Declare FormController to get validation,list values of forms #
FormController controller = FormController();
copied to clipboard

you can access to controller from your submit button

FormController controller = SimpleDynamicForm.of(context);
copied to clipboard
validate forms #
controller.validate();
copied to clipboard
show error to forms fields after validation #

error will be cleared automatically when form validate

controller.addErrorToField(String idField,String errorMessage);
copied to clipboard
recuperate all values in form : #
controller.getAllValues();
copied to clipboard

if you are used ids in element, you can recuperate values with their ids

Map values = controller.getByIds();
copied to clipboard

you recuperate by id

controller.getValueById(id);
copied to clipboard
set input value in form : #

you can change field value using id of that field

controller.setFieldValueById(id,value);
copied to clipboard
clear all inputs in form : #
controller.clearValues();
copied to clipboard
LoginForm #

pre-existing login form to make easy for you to build

Simple Usage #
Creating a basic LoginForm :

LoginForm(
controller:controller
submitLogin:RaisedButton(
onPressed: () {
final email = controller.email;
final password = controller.password;
print("$email,$password");
},
child: Text("Log In"),
),
onlyEmail: false,
textButton: Text("Log IN"),
paddingFields: const EdgeInsets.all(0),
decorationLoginForm: DecorationLoginForm(
commonDecoration: decoration,
decorationEmailElement: OutlineDecorationElement(
contentPadding: EdgeInsets.only(
left: 12.0,
),
),
decorationPasswordElement: OutlinePasswordElementDecoration(
contentPadding: EdgeInsets.only(left: 8),
prefix: Padding(
padding: EdgeInsets.all(6.0),
child: Icon(
Icons.lock,
size: 20,
),
),
enableVisibilityPassword: false
),
)
copied to clipboard
LoginFormController #

validate login form
recuperate email/password
show error in specific input


initialization

LoginFormController controller = LoginFormController();
copied to clipboard

recuperate email/Username,password

final email = controller.email;
final password = controller.password;
copied to clipboard

access to controller in submit button

LoginFormController controller = LoginForm.of(context)
copied to clipboard

show field error after validation (use case when auth failed)

controller.addEmailError("invalid Email not found");
controller.addPasswordError("invalid Email not found");
copied to clipboard

Properties




Properties
Description




controller
LoginFormController to validate login form and get data


decorationLoginForm
(DecorationLoginForm) contain configuration of the inputs decoration of email/password fields in form


directionGroup
Direction of form (Vertical/Horizontal)


paddingFields
padding between fields


onlyEmail
enable only email type textField


passwordError
messages errors to show when password field not validate


usernameEmailError
messages errors to show when email/username not validate


submitLogin
(Widget) Button of submit form



PaymentForm #

pre-existing payment form to make easy for you to build


Simple Usage

Creating a basic PaymentForm :
PaymentForm(
controller:controller,
decorationElement: OutlineDecorationElement(),
errorMessageCVV: "cvv is invalid",
errorMessageDateExpiration: "date expiration is invalid",
errorIsRequiredMessage: "This field is required",
labelCVV: "cvv",
labelDateExpiration: "date expiration",
labelCardNumber: "card number",
submitButton: ElevatedButton(
onPressed: () {
controller.validate();
},
child: Text("pay"),
),
)
copied to clipboard
PaymentController #

initialization

PaymentController controller = PaymentController();
copied to clipboard

validation payment form

bool isValid = controller.validate();
copied to clipboard

recuperate cardNumber,cvv,dateExpiration

final cardNumber = controller.cardNumber;
final cvv = controller.cvv;
final dateExpiration = controller.dateExpiration;
copied to clipboard

access to payment controller inside payment submit button

PaymentController controller = PaymentForm.of(context);
copied to clipboard

show field error after validation (use case when card check failed)

controller.addCardNumberError(errorMessage);
controller.addCVVError(errorMessage);
controller.addDateExpirationError(errorMessage);
copied to clipboard

`Properties




Properties
Description




controller
(PaymentController) controller to validate form,setError fields,clear values


entryModeDateExpiration
(DateExpirationEntryMode) input type of card date expiration can be dropdown or input(textField)


decorationElement
decoration of all input field in form


buttonDecoration
decoration of button that contain radius,backgroundColor,width


errorMessageDateExpiration
messages errors to show when Date Expiration field not validate


errorMessageCVV
messages errors to show when cvv field is invalidate


errorMessageCardNumber
messages errors to show when credit card number is invalidate


errorIsRequiredMessage
messages errors to show when at least one field not filled


labelCardNumber
text label of credit card number field


labelDateExpiration
text label of date expiration field


labelCVV
text label of cvv field


submitButton
(widget) submit button widget



API #
How to sketch your form ? #

textElement is small element in dynamicForm
GroupElement is group of TextElement

GroupElement



Properties
Description




directionGroup
Direction of form (Vertical/Horizontal)


sizeElements
size of each textElement of form When direction Horizontal,sum of values should be egal a 1


textElements
group of textElement.


padding
padding of groups.


decoration
decoration of container groups.


backgroundColor
color of the container groups.



textElement



Properties
Description




typeInput
Enumerate to specifie type of TextField.


label
text label of TextField.


DecorationElement
input decoration of TextField.


onTap
callback when you click on TextField .


hint
text hint of textField.


errorMsg
message to show when TextField isn't validate.


labelStyle
style of label TextField


errorStyle
style of error message TextField


hintStyle
style of hint TextFieldcolor


readOnly
enable TextField uneditable


validator
callback validation of TextField


padding
padding of TextField


visibility
enable visibility of element



EmailElement #

Pre-exsiting element


check validation of email


Pre-initialized values


extends from TextElement




Properties
Description




DecorationElement
input decoration of TextField.


label
text label of TextField.


hint
text hint of textField.


isRequired
make textField required in validation


errorEmailIsRequired
error message for textField when it's required


errorEmailPattern
error message for textField input when it's not email in validation


labelStyle
style of label TextField


errorStyle
style of error message TextField


hintStyle
style of hint TextFieldcolor


readOnly
enable TextField uneditable


padding
padding of TextField



PasswordElement #

Pre-exsiting element


check validation of password


Pre-initialized values


show/hide password


extends from TextElement




Properties
Description




DecorationElement
input decoration of TextField.


label
text label of TextField.


hint
text hint of textField.


errorMsg
message to show when TextField isn't validate.


labelStyle
style of label TextField


errorStyle
style of error message TextField


hintStyle
style of hint TextFieldcolor


readOnly
enable TextField uneditable


padding
padding of TextField


enableShowPassword
enable eye icon,make password text visible


isRequired
make passwordField required


minLength
minimun length accepted by password


hasUppercase
make password contains at least one upperCase character


hasSpecialCharacter
make password contains at least one special character


hasDigits
make password contains at least one digits


requiredErrorMsg
message error to show when password is required


minLengthErrorMsg
message error to show when password length is less then the specified


uppercaseErrorMsg
message error to show when password doesn't contain any upperCase character


specialCharacterErrorMsg
message error to show when password doesn't contain any special character



NumberElement #

Pre-exsiting element for Number input


Pre-initialized values


enabled digitsOnly


extends from TextElement




Properties
Description




label
text label of TextField.


hint
text hint of textField.


DecorationElement
input decoration of TextField.


errorMsg
message to show when TextField isn't validate.


labelStyle
style of label TextField


errorStyle
style of error message TextField


hintStyle
style of hint TextFieldcolor


readOnly
enable TextField uneditable


padding
padding of TextField


isDigits
enable only digit number



CountryElement #

Pre-exsiting element for Country input


Pre-initialized values


pick country via BottomSheet


show flag of countries




Properties
Description




DecorationElement
input decoration of TextField.


label
text label of TextField.


initValue
Initiale Value to country input.


labelModalSheet
Title of modalSheet


labelSearchModalSheet
hint search textfield in BottomSheet


countryTextResult
enumeration get result of selection countries


showFlag
show flag of countris in modalsheet


padding
padding of TextField


readonly
when enable TextField to be unmodified



PhoneNumberElement #

Pre-exsiting element for phone number input


Pre-initialized values

To Do in PhoneNumberElement


pick calling phone via BottomSheet


show flag of countries for each calling code


Properties #



Properties
Description




DecorationElement
input decoration of TextField.


label
text label of TextField.


hint
text placeholder for phone number input.


initValue
initial Value to phone input.


errorMsg
text error message


validator
callback validation of TextField


showPrefixFlag
enable flag country to be visible at left of TextField


showSuffixFlag
enable flag country to be visible at rigth of TextField


padding
padding of TextField


showPrefix
show calling phone number(get current calling phone of user)


readOnly
bool make TextField readOnly


initPrefix
(String) initial calling code of the specific country


labelModalSheet
(String) title of bottom sheet that shown list of calling code of countries



TextAreaElement #

Pre-exsiting element for multiLine input (like commentField)
Pre-initialized values




Properties
Description




maxLines
maximum line to span in textField.


showCounter
enable visibility of counterText.


maxCharacter
The limit on the number of characters that you can type in textField



DateElement #

Pre-exsiting element for date field input
Pre-initialized values




Properties
Description




id
String,should be unique,


initDate
(DateTime) initialize the input field


firstDate]
(DateTime) represent earliest allowable Date in date picker


lastDate
(DateTime) represent latest allowable Date in date picker


format
(DateFormat) for format the date that you pick (default :DateFormat.yMd())


selectableDayPredicate
(SelectableDayPredicate) to enable dates to be selected


label
(String) text label of TextField


decorationElement
input decoration of TextField


hint
(String) hint text of textField


isRequired
(bool) if true,make this field required


errorMsg
(String) show error message when the field isn't validate


padding
(EdgeInsets) padding of textField



RadioGroupElement #

Pre-exsiting element for radioGroup field input
Pre-initialized values




Properties
Description




id
String,should be unique,


initValue
(String) initialized select value of the radio group field


label
(String) text label of the radio group field


labelAlignment
(AlignmentGeometry) label text alignment


activeSelectedColor
(Color) active select radio in the radio group field


decorationElement
input decoration of TextField


errorMsg
(String) error message that will show when error


values
(List


valuesLabel
(List


padding
(EdgeInsets) padding of textField



DecorationElement #

abstract class


Pre-exsiting inputDecoration for TextFormField


Pre-initialized values


Typically one of UnderlineDecorationElement or OutlineDecorationElement or RoundedDecorationElement can be used.

UnderlineDecorationElement



Properties
Description




borderColor
The border Color to display when the InputDecorator does not have the focus.


errorBorderColor
The borwidthLineder Color to display when the InputDecorator does have the error.


focusBorderColor
The border Color to display when the InputDecorator does have the focus.


disabledBorderColor
The border Color to display when the InputDecorator is disabled.


radius
radius of the border.


widthSide
The width of this line of the border


filledColor
base fill color of the decoration


focusColor
focused fill color of the decoration



OutlineDecorationElement



Properties
Description




borderColor
The border Color to display when the InputDecorator does not have the focus.


errorBorderColor
The borwidthLineder Color to display when the InputDecorator does have the error.


focusBorderColor
The border Color to display when the InputDecorator does have the focus.


disabledBorderColor
The border Color to display when the InputDecorator is disabled.


radius
radius of the border.


widthSide
The width of this line of the border


filledColor
base fill color of the decoration


focusColor
focused fill color of the decoration



RoundedDecorationElement #

without BorderSide




Properties
Description




radius
radius of the border.


filledColor
base fill color of the decoration


focusColor
focused fill color of the decoration



ButtonLoginDecorationElement #

decoration for button login




Properties
Description




shapeButtonLogin
shape of the login button.


backgroundColorButton
ackground color of the login button


widthSubmitButton
width size of the login button


elevation
elevation of the button




example

///decoration Element
final decoration = OutlineDecorationElement(
filledColor: Colors.white,
radius: BorderRadius.only(
topLeft: Radius.circular(5.0),
topRight: Radius.circular(5.0),
),
widthSide: 0.6,
);
copied to clipboard
PasswordControls #

define an validation rules for password input




Properties
Description




minLength
minimum length accepted by password


hasUppercase
make password contains at least one upperCase character


hasSpecialCharacter
make password contains at least one special character


hasDigits
make password contains at least one digits

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.