Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Current »

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.

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 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:

  1. At run-time by the Quik! Forms Engine software (requires software development)
  2. 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

AttachFilePlaces an attachment icon next to a field, allowing a user to upload an attachment file to that field
AttachTitleSets 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.
BackColorSets the background color of a field (hex color code)
Calc OverrideWhen 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 ValueSets a value that will always be displayed in a field upon generating the form (can be edited by the user)
FieldTypeSet the field to a pre-determined field type (month, week, time, or email)
FormatSet the format of a field (i.e. phone numbers, dates, zip codes, etc.) using numbers, alpha and alphanumeric placeholders and default characters (e.g. (###) ###-####)
HiddenAdds 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.
MaskCauses the characters a user types into a field to be displayed as stars (similar to how passwords are displayed when logging into a website)
ReadOnlySetting a field as ReadOnly will not allow a user to edit the value in it - it can only be read
RegExSet a Regular Expression rule for the field - a sequence of characters used to define a search pattern for that field
RequiredSetting 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
RequiredByRefFieldThis 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.
RequiredByRefFieldValuesThis 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-RequiredSets 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.
VisibilitySets the visibility of a field. Unlike the Hidden attribute the field must exist on the form and is not added at run-time.
AltDataButtonAdds an alternate data button next to the field (for more about Alt Data Buttons, see here)
DropDownListConverts 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: The first item is the default value and there is no blank value.


Configuring Field Rules with the Quik! Forms 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:

  1. By Partial Field Name (NOT tied to a Quik! Field Definition)
  2. By Base Field Name (tied to a Quik! Field Definition)
  3. 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))
  4. 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:


  1. 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.

  2. Choose attribute type - select what type of field rule you are applying to the field. Each attribute is described in the table above.

  3. 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. 

  4. 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.

  5. Click the 'Add Rule' button.

  6. Repeat steps 1-5 to add multiple rules at once.

  7. 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.

  8. When finished, click the 'Add Rules' button at the bottom of the page to create the rules.

  9. 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.

  10. 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.

  11. 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 Programatically

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:

  1. 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)
  2. 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)


 There are several ways to configure field rules programatically within the Quik! Forms Engine. All associated methods are listed and described below:

Method

Description

SetFieldPropertyByFieldNameSet all the fields of a given partial or full field name (e.g. "Date" or "1own.FName") to a property setting (e.g. read only, hidden, required, etc.)
SetFieldPropertyByRoleSet all the fields of a given role (e.g. "1own") to a property setting (e.g. read only, hidden, required, etc.)
AddFieldToFormWhen adding a field to a form for prefilling data, you may also set the attributes of that field as well with AddFieldToForm (for more on this method, see here)
LoadXMLWhen adding a field to a form for prefilling data, you may also set the attributes of that field as well with LoadXML (for more on this method, see here)

There are also properties associated with using the Field Rules manager:

Property

Description

FieldAttributesManagerOffWhen 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)
FieldAttributesManagerTestWhen 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)

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:


  • No labels