Field Rules
Background
One of the primary goals in automating forms is to make it easier for the user to fill out the form while ensuring they enter complete data. Quik! helps you achieve both of these goals by enabling you to set field rules that guide the user through the form filling process. The simplest and most effective type of rule is to require certain fields to be filled out, while the most complex rules can include custom popups so users can choose an entire block of data to fill in with a single click. All field rules are set up at the account level. In other words, field rules created by a customer will only apply to forms generated using their account credentials.
NOTE: Use of field rules requires some familiarity with how Quik! fields are named - please consult the Quik! Field Definition Reference Guide prior to configuring field rules, and do not hesitate to contact Quik! support for training and assistance. Quik! does not typically create rules directly for customers/partners, but instead offers tools and training to help get you started.
Field rules can be set in two basic ways:
At run-time by the Quik! Forms Engine software (requires software development)
Using the Field Rules manager in the Quik! Forms Enterprise Manager website (https://qcc.quikforms.com/QFE/ManageFieldRules.aspx) (can be performed by a business analyst)
Types of Rules
The following field rules (also called "field attributes") can be set up to apply to:
Full Field Name (i.e. "1own.FName" for the Owner 1 First Name field only)
Partial Field Name (i.e. set the partial field name to "Date" to create a rule for all fields that contain the word 'Date')
Base Field Name (i.e. "FName" for all first name fields)
Role Name (i.e. "own" for all fields with the 'owner' role or "1own" for all fields belonging to 'owner 1')
Field rules can be applied to all forms in your library or to specific Form IDs only.
Field Attribute/Rule List
Attribute / Rule Type | Description |
---|---|
AttachFile | Places an attachment icon next to a field, allowing a user to upload an attachment file to that field |
AttachTitle | Sets the title text of the attachment window for a field (i.e. "Please upload a copy of your ID here"). Must be set to a field which also has the "AttachFile" attribute assigned. |
BackColor | Sets the background color of a field (hex color code) |
Calc Override | When a field is calculated by combining other fields together (e.g. FullName is the combination of FName, MName, LName) then setting the Calc Override property to TRUE will cause the field to not be calculated and whatever value you supply to the field to be used instead (for more on Calculated Fields, see here) |
Default Value | Sets a value that will always be displayed in a field upon generating the form (can be edited by the user) |
FieldType | Set the field to a pre-determined field type (month, week, time, or email) |
Format | Set the format of a field (i.e. phone numbers, dates, zip codes, etc.) using numbers, alpha and alphanumeric placeholders and default characters.
There are two ways to remove formatting:
|
Hidden | Adds a field to the form as a Hidden HTML input type. Often used for internal tracking such as assigning a Transaction ID and passing data to the form so it can be submitted without showing the data to any users. |
Mask | Causes the characters a user types into a field to be displayed as stars (similar to how passwords are displayed when logging into a website) |
ReadOnly | Setting a field as ReadOnly will not allow a user to edit the value in it - it can only be read |
RegEx | Set a Regular Expression rule for the field - a sequence of characters used to define a search pattern for that field |
Required | Setting a field as Required creates a red outline around the field, highlighting it's importance on a form, and will not allow a user to submit the form until the field has been populated |
RequiredByRefField | This is a conditionally required field. Setting a field to RequiredByRefField will only require the user to populate this field when another field name has a value. |
RequiredByRefFieldValues | This attribute requires the RequiredByRefField property to be set. If RequiredByRefField is set, this optional setting determines the value in which the field becomes required. |
Semi-Required | Sets the field to required on the first submit event only. Similar to Required, but instead of outright blocking a user from submitting a form until the field has been populated, the user will be able to submit the form the second time they click 'submit', even if the Semi-Required field is not filled out. The first 'submit' block essentially acts as a reminder to optionally fill out the Semi-Required fields. |
Visibility | Sets the visibility of a field. Unlike the Hidden attribute the field must exist on the form and is not added at run-time. |
AltDataButton | Adds an alternate data button next to the field (for more about Alt Data Buttons, see here) |
DropDownList | Converts a text field into a drop-down list of values. If set, users must select one of the displayed values when filling out the form. NOTE: Enter the list of values separated by commas. NOTE: All dropdown values will appear in reverse order from how they are entered. NOTE: In order to create a blank value as the last entry, begin the list with a comma (e.g.: ",Income,Balanced,Growth & Income" would result in a list of values that are blank when the form first loads. It would look like this: NOTE: In order to create a blank value as the first entry, end the list with a comma, space, comma (e.g.: "Income,Balanced,Growth & Income, ," would result in a list of values that are blank when the form first loads. It would look like this: NOTE: In order to apply a 'Required' rule to a DropDownList field, follow above example to begin list with a comma (in order to load the field with blank value). |
OptionalEsignField | This DocuSign configuration allows you to set signature fields as optional during the E-Sign process. To configure in the Quik! Forms Enterprise Manager:
To configure programmatically: Refer to this article: How to Configure Optional Signature Fields |
Configuring Field Rules with the Quik! Forms Enterprise Manager
You can configure field rules using the user interface within the Quik! Forms Enterprise Manager. This user interface offers a graphics-based way to assign the field rules listed above, with no coding required. Please note that this approach still requires knowledge of how fields are configured on a form, as well as how Quik! defines field names. Quik! offers training on how to configure field rules using the Quik! Forms Manager.
Under 'Manage Field Rules', you will see 4 different ways to add new field rules:
By Partial Field Name (NOT tied to a Quik! Field Definition)
By Base Field Name (tied to a Quik! Field Definition)
By Role Name (can include a role number if desired, or leave blank to assign rule to all fields with that role on the form(s))
By Full Field Name (the most specific setting- assigns rule to a complete Quik! Field such as 1own.Fname for Owner 1 First Name only)
After selecting desired approach, implementing a field rule follows the same basic steps, listed below:
Enter target field/role - enter the partial field name, choose the base field name, choose role name (and optionally, role number), or full field name to which you will be assigning the rule to. Field names and roles can always be found by launching a form, right-clicking on the field you need, and selecting "inspect". The field name will be displayed in the Elements window in your browser.
Choose attribute type - select what type of field rule you are applying to the field. Each attribute is described in the table above.
Enter attribute value - depending on which attribute type was selected, you will next enter the value you wish to assign. For example, if you wish to make your target field hidden, after selecting 'Hidden' in step 2, now select the 'True' value to apply this rule.
Recipient Type (optional for routing rules)- this step is intended for ViaForms users only, allowing the attribute to only apply to a specific route or recipient. If not using ViaForms, disregard this step.
Click the 'Add Rule' button.
Repeat steps 1-5 to add multiple rules at once.
When finished adding rules, you may choose to apply these rules to a specific form in your library, or globally to all forms. To apply to a specific form, select the form company in the drop-down menu, then select the form you wish to add the field rule to with the green '+' button. To apply to all forms in your subscribed libraries, skip this step.
When finished, click the 'Add Rules' button at the bottom of the page to create the rules.
Scroll to the top of the page. Your new rule has now been added to your account in Test mode. This rule can be tested on form groups by selecting which group you want to test, and clicking the 'Test Forms' button. This will open the form with your rules in place, allowing you to see how the rules work on the form.
After testing the rules, if you are satisfied with the results, you may choose to change the Status of your rule(s) from Test to Active when you are ready to implement the rules. Change the status, and click the 'SAVE' button to save the new status of the rules. Alternatively, if you have several rules in Test status that you would like to activate all at once, you may click the 'Activate' button to do so.
You may always change the status of a rule back to Test, Inactive, or even delete the rule by changing the status and saving, or clicking the red '-' button, respectively.
Configuring Field Rules Programmatically (At Run-Time)
Everything that can be done in the Field Rules manager website can be done in software code instead. The advantage of setting field rules in code is:
Field rules set in code overrides the Field Rules manager settings (e.g. if you set a field as read-only in the Field Rules manager and then in code set it to not read-only, the field will not be read-only)
Rules can be changed in real-time based on the logic of your code (e.g. maybe you want fields to be set read-only by default but unlock them for a specific step in your workflow)
These properties are associated with using the Field Rules manager:
Property | Description |
---|---|
FieldAttributesManagerOff | When set to TRUE, this property tells the Quik! Forms Engine to ignore all rules created in the Quik! Forms Enterprise Manager, and only apply those created programatically. (Default is False) |
FieldAttributesManagerTest | When set to TRUE, all forms generated will only use field rules that are currently in Test status. This is useful for testing how new field rules work before going live with them. (Default is False) |
For more details, refer to this article: Configure Field Rules (At Run-Time).
Other Notes & Known Issues
There are a few known issues with the Manage Field Rules user interface. They are described below:
Quik! does not currently support blank records in drop-downs. The field will default to the first value listed when displayed on the form.
Quik! does not currently support rule editing. To change a rule, it must be deleted, then re-created with desired changes, and saved as a new rule.
The Field Rules page performance may be slowed as more rules are added. Users will have to log out and log back in if and when the page crashes.
It is not recommended to create rules for fields that are not defined in the Quik! Field Definition (i.e. random field names like txt1.1.10.2). As the name of an undefined field may change when a form is updated, the rule may be lost or incorrectly assigned. It is recommended to only create rules for fields named within the Quik! Field Definition.
Every checkbox and radio button on a Quik! form has a field name and value. For creating field rules for checkboxes and radio buttons, the field name entered should be the exact field name from the Quik! Field Definition - only include the part of the field name after"QuikRadio<formID#>.". The value of a checkbox is the "Value" attribute of the target checkbox.
For example, say Form ID 38002 has a field for 3 possible Government ID types (Driver's License, Passport, and Other), and each is represented by a checkbox that a user may check. The 3 checkboxes are all part of the same field called "QuikRadio38002.1own.GOV.IDType", and each box has a value (Other = 0, Driver's License = 1, and Passport = 2). If you wanted to make a rule that the Passport box is always checked when launching the form, you would make the rule by selecting "Default Value", assigning it to the field "1own.GOV.IDType", and entering an attribute value of 2. The resulting field would look like this when the form is opened:
For help regarding Quik! Forms and the Quik! API
Email: support@quikforms.com | Phone: (877) 456-QUIK