Skip to content

Commit c1c6edb

Browse files
authored
[Forms] Fixed dead links (#72)
* Added textfield widget * Added dropdown widget * Added radio button * Added pincode widget * added slider and ratingbar widget * added form validation * Added form actions * Added checkbox group widget * Address review comments part 1 * Address review comments part 2 * Fixed all dead links * Address review comments part 3
1 parent 51eb8dd commit c1c6edb

File tree

7 files changed

+20
-24
lines changed

7 files changed

+20
-24
lines changed

docs/resources/control-flow/user-interactivity/forms/form-validation.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,10 @@ Building and validating a *Form* includes the following steps:
5555
A form widget can only validate if there are any input fields. Here's an example of adding input fields for the signup form.
5656

5757
1. First, add the **Form** widget itself from the **Form Elements**.
58-
2. Inside the form, add the [**Column**](#) widget from the **Layout Elements** tab.
59-
3. Now, add two [**TextFields**](form-widgets/textfield) (one for email and one for password).
60-
4. Add a [**Button**](#) widget and then add [Date/Time Picker](#) action to get the date of birth.
61-
5. Add one more [**Button**](#) to validate and submit the form.
58+
2. Inside the form, add the **Column** widget from the **Layout Elements** tab.
59+
3. Now, add two [**TextFields**](textfield) (one for email and one for password).
60+
4. Add a [**Button**](../../../../../resources/ui-building-blocks/widgets/built-in-widgets/button/) widget and then add [Date/Time Picker](#) action to get the date of birth.
61+
5. Add one more **Button** to validate and submit the form.
6262

6363
Here's how it looks:
6464

docs/resources/control-flow/user-interactivity/forms/form-widgets/dropdown.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ Let's see how to add a *DropDown* widget and build an example that shows the sel
4545

4646
1. Add the **DropDown** widget, move to the **Properties Panel > Define Options >** click **Add Options** to add items.
4747
2. To display the default value, move to the **Initial Configuration** section and enter the value. Ensure it matches one of the options added in the previous step.
48-
3. The selected dropdown value can be accessed via *Widget State > DropDown*. To display it on the *Text* widget, add a [**Text**](#) widget, move to the properties panel, click on **Set from Variable** and choose the **Widget State > DropDown** (i.e., name of your dropdown).
48+
3. The selected dropdown value can be accessed via *Widget State > DropDown*. To display it on the *Text* widget, add a [**Text**](../../../../../resources/ui-building-blocks/widgets/built-in-widgets/text) widget, move to the properties panel, click on **Set from Variable** and choose the **Widget State > DropDown** (i.e., name of your dropdown).
4949

5050
<div style={{
5151
position: 'relative',
@@ -116,7 +116,7 @@ To set an initial value:
116116

117117
You might want to save the dropdown value as soon as the selection changes. This approach is useful when you want to ensure that the user's selection is immediately saved without having to wait for them to submit the form. By doing so, you can provide a better user experience and reduce the risk of data loss in case of any interruption.
118118

119-
You can do so by adding an action such as [update app state](#), [update Firestore record](#) that [triggers when a selection changes](#) on this widget.
119+
You can do so by adding an action such as [update app state](../../../../../resources/data-representation/app-state#update-app-state-variable), [update Firestore record](../../../../../integrations/database/cloud-firestore/firestore-actions#update-document-action) that [triggers when a selection changes](../../../../../resources/ui-building-blocks/widgets/widget-commonalities#trigger-action-on-selection-change) on this widget.
120120

121121
![Saving *DropDown* value on selection change](../../imgs/saving-dp-value-on-selection-change.webp)
122122

@@ -241,7 +241,7 @@ You might need to disable a dropdown when certain conditions are not yet met or
241241
To disable the dropdown:
242242

243243
1. Select the **DropDown** widget, move to the **Properties Panel > DropDown Search >** enable **Disable Dropdown** option.
244-
2. Click on **Unset** and select the source that returns the boolean value (i.e., True or False), such as boolean variable, [Conditions](../../../functions/control-flow-actions/conditional-logic), [Code Expression](#).
244+
2. Click on **Unset** and select the source that returns the boolean value (i.e., True or False), such as boolean variable, [Conditions](../../../../../resources/functions/conditional-logic), [Code Expression](../../../../../resources/functions/utility#code-expressions).
245245

246246
![Disabling dropdown](../../imgs/disabling-dropdown.png)
247247

docs/resources/control-flow/user-interactivity/forms/form-widgets/radiobutton.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ You can use the RadioButton widget for implementing a single selection such as g
1818

1919
Here's an example of how you can use the RadioButton widget in your project:
2020

21-
1. First, drag the [**Column**](#) widget from the **Layout Elements** tab (in the Widget Panel) or add it directly from the widget tree. Set its **Cross Axis Alignment** to **Stretch**.
21+
1. First, drag the **Column** widget from the **Layout Elements** tab (in the Widget Panel) or add it directly from the widget tree. Set its **Cross Axis Alignment** to **Stretch**.
2222
2. Now add the **RadioButton** widget from the **Form Elements** tab or add it directly from the widget tree.
2323

2424
:::info
@@ -229,7 +229,7 @@ For simplification purposes, the selected option is shown in the Text widget. In
229229

230230
To retrieve the user's selection:
231231

232-
1. Add the [**Text**](#) widget to your page.
232+
1. Add the [**Text**](../../../../../resources/ui-building-blocks/widgets/built-in-widgets/text/) widget to your page.
233233
2. Move to property editor and click on the **Set from Variable** text. (This will open a new panel)
234234
3. Set the **Source** to **Widget State**.
235235
4. Set the **Available Options** to **RadioButton**.
@@ -342,7 +342,7 @@ Use the Lock button to change the Left, Top, Right and Bottom padding all at the
342342

343343
### Showing Options Horizontally
344344

345-
By default, all options are shown as if they were inside the [Column](#) widget. Using *Axis* property, you can change this behavior to display all options horizontally as if they are inside the [Row](#) widget.
345+
By default, all options are shown as if they were inside the Column widget. Using *Axis* property, you can change this behavior to display all options horizontally as if they are inside the Row widget.
346346

347347
To display all options horizontally:
348348

docs/resources/control-flow/user-interactivity/forms/form-widgets/text-field.md

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ To set the label, move to the **Properties Panel > Label Properties >** enter th
134134

135135
![adding-label](../../imgs/adding-label.avif)
136136

137-
When the TextField is set to [Multiline](#making-textfield-multiline-auto-expand) the label appears in the center. To get it closer to the hint text, switch on the **Align Label With Hint** property.
137+
When the TextField is set to [Multiline](#adding-multilineauto-expand-support) the label appears in the center. To get it closer to the hint text, switch on the **Align Label With Hint** property.
138138

139139
<div style={{
140140
position: 'relative',
@@ -307,7 +307,7 @@ To reduce TextField's height to as minimum as possible, select the TextField wid
307307

308308
### Changing error message styling
309309

310-
You can also change the text styling for the error message. To do so, head over to **Properties Panel > Input Decoration Properties >** enable **Custom Error Style** and [change the text styling](#).
310+
You can also change the text styling for the error message. To do so, head over to **Properties Panel > Input Decoration Properties >** enable **Custom Error Style** and [change the text styling](../../../../../resources/ui-building-blocks/widgets/built-in-widgets/text#common-text-properties).
311311

312312
![changing-error-message-styling](../../imgs/changing-error-message-styling.avif)
313313

@@ -317,7 +317,7 @@ You might want to add an icon inside the TextField, either at the start or end.
317317

318318
To add a leading or trailing icon, move to the **Properties Panel >** find the **Leading** and **Trailing Icon** property > Click on the **None** button **>** search and select the icon.
319319

320-
You can also [customize the icon's size and color](#).
320+
You can also [customize the icon's size and color](../../../../../resources/ui-building-blocks/widgets/built-in-widgets/icons#common-icon-properties).
321321

322322
![adding-icon](../../imgs/adding-icon.avif)
323323

@@ -651,10 +651,6 @@ You might want to restrict the type of characters that can be entered into a Tex
651651

652652
To filter the user input, select the TextField widget, move to the **Properties Panel** **> Additional Properties >** set the **Filter** dropdown to the one you need.
653653

654-
:::info
655-
To check user input for certain criteria or requirements (e.g., email), see *step 3* on how to [add validation](#).
656-
:::
657-
658654
<div style={{
659655
position: 'relative',
660656
paddingBottom: 'calc(56.67989417989418% + 41px)', // Keeps the aspect ratio and additional padding
@@ -836,8 +832,8 @@ Let's see an example of controlling the visibility of a Text widget based on the
836832

837833
To do so:
838834

839-
1. On a Text widget, add a [Conditional Visibility](#) based on the TextField's Focus state. You can access via **Set from Variable** menu **> Widget Focus State > [TextField name]**.
840-
2. Now, on a TextField widget, under the [On Focus Change](#trigger-action--listen-callback) callback, simply add an action to refresh the page by adding the [update app state](#) variable.
835+
1. On a Text widget, add a [Conditional Visibility](../../../../../resources/ui-building-blocks/widgets/widget-commonalities#conditional) based on the TextField's Focus state. You can access via **Set from Variable** menu **> Widget Focus State > [TextField name]**.
836+
2. Now, on a TextField widget, under the [On Focus Change](#trigger-action--listen-callback) callback, simply add an action to refresh the page by adding the update app state variable.
841837

842838
<div style={{
843839
position: 'relative',

docs/resources/control-flow/user-interactivity/forms/forms.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@ sidebar_position: 0
1212
Forms are a fundamental part of many applications, serving as the primary method for users to input and submit data. Whether you're building a simple contact form or a complex multi-step survey, FlutterFlow provides a comprehensive set of tools to create, validate, and manage forms effectively.
1313

1414
:::tip
15-
In this section, you'll learn how to add form widgets such as [**TextField**](forms/textfield), [**Dropdown**](forms/dropdown), [**RadioButton**](forms/radiobutton), [**CheckboxGroup**](forms/checkboxgroup), add [**set**](forms/set-form-field)/[**reset**](forms/reset-form-field) actions on these widgets and add [**Validations**](forms/form-validation) to forms.
15+
In this section, you'll learn how to add form widgets such as [**TextField**](forms/textfield), [**Dropdown**](forms/dropdown), [**RadioButton**](forms/radiobutton), [**CheckboxGroup**](forms/checkboxgroup) and add [**Validations**](forms/form-validation) and [**set**](forms/set-form-field)/[**reset**](forms/reset-form-field) actions on these widgets.
1616
:::

docs/resources/ui-building-blocks/components/built-in-components/pincode.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ Here is an example of displaying a snackbar message when a user enters a non-num
174174

175175
## Validation
176176

177-
You can validate the Pincode widget to see if a user has entered any value. To do so, wrap the Pincode widget inside the [**Form**](#) widget, In the *Form* widget, enter the error message you want to display and then trigger the [**Validate Form**](#) action. This will display an error message when a user tries to submit the form without a pincode value.
177+
You can validate the Pincode widget to see if a user has entered any value. To do so, wrap the Pincode widget inside the [**Form**](../../../../resources/forms/form-validation#adding-form-widget) widget, In the *Form* widget, enter the error message you want to display and then trigger the [**Validate Form**](../../../../resources/forms/form-validation#3-adding-validate-action) action. This will display an error message when a user tries to submit the form without a pincode value.
178178

179179

180180
<div style={{

docs/resources/ui-building-blocks/components/built-in-components/slider.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ You can customize the appearance and behavior of the widget using the various pr
115115

116116
### Setting platform type
117117

118-
You can set the platform type to *Adaptive or Android* for **this widget. Selecting the Adaptive type will display the widget in its native style. That means the widget will show iOS-style rendering when running on iOS devices and Android-style rendering when running on Android devices.
118+
You can set the platform type to *Adaptive or Android* for this widget. Selecting the Adaptive type will display the widget in its native style. That means the widget will show iOS-style rendering when running on iOS devices and Android-style rendering when running on Android devices.
119119

120120
To set the platform type:
121121

@@ -233,8 +233,8 @@ To change the slider colors:
233233

234234
1. Select the **Slider** widget from the widget tree or the canvas area.
235235
2. Move to the properties panel and scroll down to the **Slider Properties** section.
236-
3. To change the active color, find the **Active Color** property, click on the box next to the already selected color, select the color, and then click **Use Color** or click on an already selected color ****and enter a Hex Code directly. You can also choose the color by clicking the **Palette** and **Simple** button.
237-
4. To change the inactive color, find the **Inactive Color** property, click on the box next to the already selected color, select the color, and then click **Use Color** or click on an already selected color ****and enter a Hex Code directly. You can also choose the color by clicking the **Palette** and **Simple** button.
236+
3. To change the active color, find the **Active Color** property, click on the box next to the already selected color, select the color, and then click **Use Color** or click on an already selected color and enter a Hex Code directly. You can also choose the color by clicking the **Palette** and **Simple** button.
237+
4. To change the inactive color, find the **Inactive Color** property, click on the box next to the already selected color, select the color, and then click **Use Color** or click on an already selected color and enter a Hex Code directly. You can also choose the color by clicking the **Palette** and **Simple** button.
238238

239239
<div style={{
240240
position: 'relative',

0 commit comments

Comments
 (0)