Conditional Validation for View Builder

The view builder tool simplifies form creation by allowing users to define conditional validations through a GUI, automating source code generation, thus reducing costs and errors in form deployment.

JP2024546092AInactive Publication Date: 2024-12-17RAKUTEN SYMPHONY INC
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
JP2024533317
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-04-15
Publication Date
2024-12-17
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

Existing form creation tools require users to manually write complex source code for conditional validation, leading to increased costs, effort, and errors in deployment.

Method used

A view builder tool that allows users to select parameters through a graphical user interface (GUI) to define conditional validations, automatically generating source code based on user inputs, reducing the need for manual coding.

Benefits of technology

Facilitates intuitive and user-friendly form creation with reduced time, cost, and effort, enabling users to easily add or modify conditional validations without programming expertise.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2024546092000001_ABST
    Figure 2024546092000001_ABST
Patent Text Reader

Abstract

A system for conditional validation of a form includes at least one processor and at least one memory coupled to the at least one processor and configured to store executable instructions that, when executed by the at least one processor, cause the at least one processor to visually present an expression input area for accepting user input of at least one expression defining at least one condition for controlling a property of a first field of the form in a configuration mode, generate at least one condition corresponding to the at least one expression, and store the generated at least one condition with the form. The at least one expression includes at least one of a logical expression or a mathematical expression.
Need to check novelty before this filing date? Find Prior Art

Description

[Background technology]

[0001] Fillable forms are used in various aspects of life and work, in multiple industries, services, applications etc. Consideration is given to creating designs that are intuitive and user-friendly for both the designer / creator creating the form and the end-user using the form for data entry and / or manipulation.

[0002] Aspects of the present disclosure are best understood from the following detailed description when read in conjunction with the accompanying drawings, in which: In accordance with standard industry practice, various features are not drawn to scale, and in fact, dimensions of various features are arbitrarily increased or decreased for clarity of illustration. [Brief description of the drawings]

[0003] [Figure 1] 1 is a schematic diagram of a system having a view builder that uses conditional validation, according to some embodiments. [Figure 2A] FIG. 13 is a schematic diagram showing a form in a setting mode. [Figure 2B] FIG. 2 is a schematic diagram showing selected fields of a form. [Figure 2C] FIG. 2 is a schematic diagram illustrating various controllable properties of a selected field. [Figure 3A] FIG. 1 is a schematic diagram relating to mandatory properties, in particular, various parameters for defining at least one condition for controlling the mandatory property of a selected field of a form in a setup mode, according to some embodiments; [Figure 3B] FIG. 1 is a schematic diagram relating to mandatory properties, in particular, various parameters for defining at least one condition for controlling the mandatory property of a selected field of a form in a setup mode, according to some embodiments; [Figure 3C]1 is a schematic diagram relating to a required property, according to some embodiments, and illustrating various visually presented states of a field and / or a form depending on whether a defined condition of a required property is met when the form is in execution mode; [Figure 3D] 1 is a schematic diagram relating to a required property, according to some embodiments, and illustrating various visually presented states of a field and / or a form depending on whether a defined condition of a required property is met when the form is in execution mode; [Figure 4A] 1 is a schematic diagram relating to editable properties, in particular, fields selected for editing in a form, according to some embodiments; [Figure 4B] 1 is a schematic diagram relating to editable properties, in particular, a schematic diagram showing a field when selected, according to some embodiments; [Figure 4C] FIG. 1 is a schematic diagram relating to editable properties, in particular, various parameters for defining at least one condition for controlling an editable property of a selected field of a form in a setup mode, according to some embodiments; [Figure 4D] FIG. 1 is a schematic diagram relating to editable properties, in particular, various parameters for defining at least one condition for controlling an editable property of a selected field of a form in a setup mode, according to some embodiments; [Figure 4E] 1 is a schematic diagram relating to an editable property according to some embodiments, and illustrating various visually presented states of a field and / or a form depending on whether a defined condition of an editable property is met when the form is in execution mode; [Figure 4F]1 is a schematic diagram relating to an editable property according to some embodiments, and illustrating various visually presented states of a field and / or a form depending on whether a defined condition of an editable property is met when the form is in execution mode; [Figure 5A] FIG. 1 is a schematic diagram relating to visibility properties, in particular illustrating alternative options for defining at least one condition for controlling the visibility properties of a selected field of a form in a setup mode, according to some embodiments; [Figure 5B] FIG. 1 is a schematic diagram relating to visibility properties, in particular illustrating alternative options for defining at least one condition for controlling the visibility properties of a selected field of a form in a setup mode, according to some embodiments; [Figure 5C] 1 is a schematic diagram relating to visibility properties according to some embodiments, and illustrating various visually presented states of a field and / or a form depending on whether a defined condition of a visibility property of the field is met when the form is in execution mode; [Figure 5D] 1 is a schematic diagram relating to visibility properties according to some embodiments, and illustrating various visually presented states of a field and / or a form depending on whether a defined condition of a visibility property of the field is met when the form is in execution mode; [Figure 5E] 1 is a schematic diagram relating to a visibility property according to some embodiments, and illustrating the visually presented state of various fields of a form depending on whether a defined condition of a visibility property is met when the form is in execution mode; [Figure 5F] 1 is a schematic diagram relating to a visibility property according to some embodiments, and illustrating the visually presented state of various fields of a form depending on whether a defined condition of a visibility property is met when the form is in execution mode; [Figure 5G] 1 is a schematic diagram relating to a visibility property according to some embodiments, and illustrating the visually presented state of various fields of a form depending on whether a defined condition of a visibility property is met when the form is in execution mode; [Figure 6A] FIG. 1 is a schematic diagram relating to background properties, in particular illustrating various parameters for defining at least one condition for controlling background properties of a selected field of a form in a setup mode, according to some embodiments; [Figure 6B] 1 is a schematic diagram relating to a background property according to some embodiments, and illustrating various visually presented states of a field and / or a form depending on whether a defined condition of a background property is met when the form is in execution mode; [Figure 6C] 1 is a schematic diagram relating to a background property according to some embodiments, and illustrating various visually presented states of a field and / or a form depending on whether a defined condition of a background property is met when the form is in execution mode; [Figure 7A] FIG. 2 is a schematic diagram illustrating one or more conditions defined by user input of one or more expressions, according to some embodiments. [Figure 7B] FIG. 2 is a schematic diagram illustrating one or more conditions defined by user input of one or more expressions, according to some embodiments. [Figure 8A] 1 is a flowchart of various processes according to some embodiments. [Figure 8B] 1 is a flowchart of various processes according to some embodiments. [Figure 9] 1 is a schematic block diagram of a computer system according to some embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0004] The following disclosure includes many different embodiments or examples for implementing different features of the subject matter. To simplify the disclosure, specific examples of components, values, operations, materials, arrangements, etc. are described below. Of course, these are merely examples and are not intended to be limiting. Other components, values, operations, materials, arrangements, etc. are contemplated. For example, the formation of a first feature on or above a second feature in the following description includes embodiments in which the first feature and the second feature are formed in direct contact with each other, and also includes embodiments in which an additional feature is formed between the first feature and the second feature such that the first feature and the second feature are not in direct contact with each other. In addition, the disclosure repeats reference numbers and / or signs in various examples. This repetition is for the purposes of brevity and clarity and does not in itself dictate a relationship between the various embodiments and / or configurations described. Furthermore, spatially relative terms such as "directly below," "below," "at the bottom," "above," "above" and the like may be used herein to describe a relationship between one element or feature and another element or feature, as shown in the figures, for ease of description. Spatially relative terms are intended to encompass different orientations of the device during use or operation in addition to the orientation depicted in the figures: the device may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptors that may also be used herein interpreted accordingly.

[0005] A form builder or view builder is a computerized tool (e.g., software executed on / by hardware such as a processor) provided to assist a user in creating a form. In some situations, a form is created or designed to include one or more fields with properties that dynamically change depending on whether a condition is met. Such properties may be referred to as conditional validation. In some embodiments, to assist a user in creating or modifying a form with conditional validation, the view builder is configured to present the user with a graphical user interface (GUI) in which various parameters are selectable and / or enterable to define the conditions of the conditional validation in the form. Based on the user's selections and / or entries, the view builder is configured to automatically generate the conditions and source code corresponding to the conditions. The automatically generated source code is stored by the view builder with the form, for example, in a non-transitory computer readable medium, for later use by an end user using the form for data entry. As the end user interacts with the form, the conditions are enabled or not enabled, resulting in different behavior of the form and presenting the end user with an intuitive and user-friendly interface for data entry.

[0006] In at least one embodiment, the described automatic generation of source code based on user selection and / or input of one or more parameters to define a condition is an advantage over other and / or existing approaches. In other and / or existing approaches, a user needs to write source code to create a form. All parameters are hard-coded in the source code itself, and in some cases, the source code is very complicated for a user (e.g., a human) to process manually. If a user wants to change a single parameter, the user interface and back-end service code need to be manually rewritten, which is an error-prone process that involves additional cost, effort, time, and / or delays in product deployment (e.g., change form). In contrast, in some embodiments, the user simply selects parameters visually presented to the user in a GUI or inputs customizable parameters, and the view builder automatically generates source code based on the user selection and / or entry. This procedure is applicable to both adding new conditional validations or modifying existing conditional validations, and does not require user coding. This can reduce the cost, time, effort, and user proficiency required for form creation. Additional features and / or advantages are within the scope of various embodiments.

[0007] FIG. 1 is a schematic diagram of a system 100 having a view builder 110 that uses conditional validation, according to some embodiments.

[0008] In some embodiments, view builder 110 comprises software executed on / by hardware. An exemplary hardware configuration for executing view builder 110 includes the computer system described with respect to FIG. 9. For example, view builder 110 includes executable instructions stored in at least one memory and executed by at least one processor. In at least one embodiment, view builder 110 is developed in Angular, a platform for building mobile and / or desktop web applications. Other platforms and / or software configurations are within the scope of various embodiments.

[0009] The view builder 110 is configured to handle (e.g., open or process) the form 120 in a setup mode, in which the form 120 is created or modified by a user via a GUI provided by the view builder 110. In some embodiments, the view builder 110 is further configured to process the form 120 in a run mode, in which the form 120 operates as if it were deployed for data entry and / or manipulation. This functionality of the view builder 110 is to allow a user to preview and / or test the behavior of a created or modified form 120 prior to deployment for use by an end user. The same run mode of the form 120 is viewed and used by an end user for data entry and / or manipulation after deployment.

[0010] As used herein, a user is a person who creates or modifies a form, whereas an end user is a person who uses a form for data entry and / or manipulation. In an example, a user is a form creator or designer or developer who initially creates a form and can then modify or update the form as required by an end user or customer who obtains the form from the creator / designer / developer. In another example, a user is a customer (e.g., business) administrator, or a person with sufficient privileges, who can create, modify, or update the form itself using view builder 110 without having to go back to the creator / designer / developer. In some embodiments, the ability for a customer to create, modify, or update the form itself by using view builder 110 is an additional advantage over other and / or existing approaches.

[0011] Form 120 includes multiple fields, such as Field 1, Field 2, ... Field X. The amount of fields in form 120 is not limited to any particular number. The fields in form 120 originate from various resources. Exemplary resources include relationships and / or tables stored in at least one database. In the exemplary configuration of FIG. 1, database 130 includes multiple tables, such as Table A, Table B, ... Table M. The amount of tables in database 130 is not limited to any particular number. Table A is shown in more detail in FIG. 1 and includes multiple fields, such as Field 1, Field 2, Field 3 ... Field N. The amount of fields in Table A is not limited to any particular number. Other tables in database 130 may be configured similarly to Table A and may include one or more common fields with Table A, or may include fields that are completely different from those of Table A. Other table configurations and / or database configurations are within the scope of various embodiments. In some embodiments, database 130 is maintained by a customer or includes customer data for data entry and / or manipulation. In some embodiments, the fields of the form 120 are selected from fields of multiple databases.

[0012] The fields of form 120 may come from the same table and / or different tables. For example, field 1 and field 2 of form 120 correspond to field 1 and field 2 of table A, while field X of form 120 corresponds to a corresponding field (not shown) in table M. In some embodiments, a customer presents a list of fields in database 130 to the form designer, and the form designer designs form 120 by selecting field 1, field 2, ... field X from the presented list.

[0013] The fields of the form 120 are conditional or non-conditional fields. A conditional field is a field associated with at least one conditional validation. A non-conditional field is a field that is not associated with a conditional validation. In the exemplary configuration of FIG. 1, field 1 and field X of the form 120 are conditional fields and field 2 is a non-conditional field. Each conditional field has one or more conditional validations associated with it. A conditional validation corresponds to a property of the conditional field and at least one condition that controls the property to have a different value depending on whether the condition is met or not. In the exemplary configuration of FIG. 1, field 1 has at least one conditional validation 121 that corresponds to at least one property of field 1 and one or more associated conditions, and field X has at least one conditional validation 123 that corresponds to at least one property of field X and one or more associated conditions. Field 2 does not have a corresponding conditional validation. The conditional validations 121, 123 are created and / or modified via a GUI provided by the view builder 110 as described herein. In some embodiments, the conditional validations 121, 123 are stored with the form 120, for example in a non-transitory computer readable medium. In at least one embodiment, the form 120 is described by a file called a JavaScript Object Notation (JSON) construct, and the conditional validations 121, 123 are stored in the same JSON construct. Other arrangements are within the scope of various embodiments.

[0014] As indicated diagrammatically by arrow 129, form 120 is switchable between a configuration mode and an execution mode in view builder 110. In the execution mode, form 120 is rendered based on the JSON configuration of form 120, for example, by view builder 110 for preview / testing before deployment, or by computer system 140 for data entry and / or manipulation after deployment. The difference between the execution modes of form 120 in view builder 110 and computer system 140 is that in the execution mode in computer system 140, form 120 is linked to its field resources, e.g., database 130, for data entry and / or manipulation, whereas in the execution mode in view builder 110, form 120 is not yet linked to database 130. Except for the differences noted, form 120 in the execution mode operates substantially the same in view builder 110 and computer system 140. An exemplary hardware configuration of computer system 140 will be described with reference to FIG. 9.

[0015] In the execution mode, the form 120 is configured as a GUI that allows for the entry and / or manipulation of data in its fields. For example, data 141, 142, ... 143 can be entered into corresponding Field 1, Field 2, ... Field X of the form 120 in the execution mode. When the form 120 is in the execution mode on the computer system 140, Field 1, Field 2, ... Field X of the form 120 are linked to corresponding fields of the database 130. For simplicity, the link from Field 1 of the form 120 in the execution mode to the corresponding Field 1 of Table A is shown diagrammatically in FIG. 1, while the links from the other fields of the form 120 to the corresponding fields of the database 130 are omitted. In some embodiments, one field of the form 120 is linked to multiple corresponding fields and / or multiple tables of the database 130. In some embodiments, the form 120 in the execution mode is linked to the database 130 over a network by executing an application on the computer system 140.

[0016] The form 120 in execution mode allows an end user 145 to input data 141, 142, ... 143 into corresponding Field 1, Field 2, ... Field X, which provides the input data 141, 142, ... 143 into corresponding fields in the database 130. In the exemplary configuration of FIG. 1, the end user 145 inputs data into the form 120 while performing one or more tasks related to a cellular network. This is merely an exemplary application of a form created / modified by the view builder 110. Other fields, industries, applications, services, etc. in which the form created / modified by the view builder 110 may be used are within the scope of various embodiments.

[0017] In the example cellular network of FIG. 1, a consumer mobile terminal 152 is coupled to a cellular network 154 to receive communication services. In the example, the cellular network 154 includes a number of cells (not shown) in which cellular services are provided via corresponding base stations. A representative base station 156 is shown in FIG. 1. The base station constitutes a radio access network and is coupled to a core network of the cellular network 154. A representative network device 158 of the core network is shown in FIG. 1. Examples of the cellular network 154 include, but are not limited to, a Long Term Evolution (LTE) network, a fifth generation (5G) network, a non-standalone (NSA) network, a stand-alone (SA) network, a Global System for Mobile Communications (GSM) network, a General Packet Radio Service (GPRS) network, a Code Division Multiple Access (CDMA) network, a Mobitex network, an Enhanced GPRS (EDGE) cellular network, and the like. An exemplary configuration of a base station includes a cell tower, each having one or more cellular antennas, one or more sets of transmitter / receiver transceivers, a digital signal processor, control electronics, a Global Positioning System (GPS) receiver for timing (e.g., for CDMA2000 / IS-95 or GSM systems), primary and backup power sources, and shielding. Examples of mobile terminals 152 include, but are not limited to, mobile phones, tablets, media players, gaming consoles, personal digital assistants (PDAs), laptops, and other electronic devices configured to transmit and / or receive cellular communications to and from base stations of the cellular network 154. An exemplary hardware configuration of a mobile terminal and / or base station includes the computer system described with respect to FIG. 9 with the addition of one or more cellular antennas and corresponding cellular transmit / receive circuitry. Examples of communication technologies for conducting cellular communications between base stations and mobile terminals include, but are not limited to, 2G, 3G, 4G, 5G, GSM, EDGE, WCDMA, HSPA, CDMA, LTE, DECT, and WiMAX.Examples of services provided via cellular communications, referred to herein as cellular communications services, include, but are not limited to, voice calls, data, email, messages such as SMS and MMS, applications, and control signals. Exemplary components of the core network (or network devices 158) include, but are not limited to, a Serving Gateway (SGW), a High Rate Packet Data Serving Gateway (HSGW), a Packet Data Network Gateway (PGW), a Packet Data Serving Node (PDSN), a Mobility Management Entity (MME), a Home Subscriber Server (HSS), and a Policy Control Rule Function (PCRF). The components of the core network are coupled to each other and to the base stations by one or more public and / or private networks. An exemplary hardware configuration of the components of the core network or network devices 158 includes the computer system described with respect to FIG. 9.

[0018] Exemplary tasks that an end user 145 may perform using the form 120 include, but are not limited to, surveying a physical site for installing a base station, checking the operation of various equipment in a base station or network device, etc. In response to one or more factors, such as the data entered, the object on which the task is being performed, etc., one or more conditional validations of the form 120 are performed and / or updated in real time to modify the behavior of the corresponding fields to provide the end user 145 with an intuitive and user-friendly interface for entering and / or manipulating data. For example, conditional validations are performed and / or updated to indicate which fields are required (mandatory) or optional, and / or to indicate whether a field is editable, and / or to hide fields not necessary for the current task to simplify the user interface for the end user 145, and / or to highlight fields that require the end user 145's attention. Such and / or other conditional validations are created and / or modified for the form 120 via the view builder 110, as described herein, in a manner that is easy to understand and perform.

[0019] Figure 2A is a schematic diagram illustrating a form 120 in a setup mode, as visually presented in a GUI of a view builder 110, according to some embodiments. Figure 2B is a schematic diagram illustrating a selected field of the form 120, e.g., field 1, according to some embodiments. Figure 2C is a schematic diagram illustrating various controllable properties of the selected field, according to some embodiments.

[0020] Examples of visual presentation of forms, fields, GUIs, parameters, values, items, etc. include displaying forms, fields, GUIs, parameters, values, items, etc. on a display such as a monitor or touch screen. Other methods for visually presenting information are within the scope of various embodiments, such as projection onto a screen, projection in three dimensions (3D) using glasses and / or other head-mounted devices, or any other method for presenting information visually perceptible to a user. For simplicity, in the following description, "display" or "displayed" are used as exemplary methods for visually presenting information. As described herein, other methods for visual presentation are not excluded. A user can interact with the displayed or otherwise visually presented information by a pointing device (e.g., a mouse), a touch screen, non-contact gestures, etc.

[0021] 2A illustrates a further operation made available by the view builder 110 in one or more embodiments, namely, the operation of adding a new field. This add field operation can be used by a user to create a form from a blank template by adding a field to the template, or to add a new field to an existing form, for example, in response to a request from a customer or end user. Specifically, when the add field operation is selected, for example, by user interaction with the GUI of the view builder 110 (not shown), a list 220 of available fields is displayed, namely, Field 3, Field 4, ... Field J. In at least one embodiment, the list 220 includes fields of one or more or all tables of the database 130. In at least one embodiment, the list 220 is restricted to include fields relevant to the task for which the form 120 is designed. In at least one embodiment, the list 220 includes fields other than those already included in the list 220. In at least one embodiment, the list 220 includes one or more fields already included in the form 120. In an exemplary add field operation, the user selects field 4 in list 220 at 224 and adds field 4 to form 120, for example, by a drag-and-drop operation 225. Once added to form 120, field 4 can be modified to create or update its conditional validation in a manner similar to that described herein.

[0022] In the example, to create or update a conditional validation for field 1, the user selects field 1 at 226. Once the user selects field 1, a menu 228 is displayed for the selected field 1, as shown in FIG. 2B. The menu 228 includes various options for interacting with the selected field 1, such as edit, move, delete, and more information. In response to the user selecting edit option 230, a screen 232 is displayed by the GUI of the view builder 110, as shown in FIG. 2C.

[0023] In the exemplary configuration of Figure 2C, the conditional validations available for the selected field include required, editable, visible, and background. This enumeration of conditional validations is an example, and other conditional validations are within the scope of various embodiments.

[0024] Required conditional validation corresponds to a field's required property and one or more associated conditions that, if met, configure the field as required to require data to be entered into the field when the form is rendered in run mode. If the one or more conditions are not met, the field is configured as optional, i.e., data may be entered into the field but is not required. Alternative configurations, i.e., the field is required if the one or more conditions are not met and optional if the one or more conditions are met, are included in one or more embodiments. Examples for configuring required conditional validation are described with reference to Figures 3A-3D.

[0025] The editable conditional validation corresponds to a field's editable property and one or more associated conditions that, if met, configure the field as editable to allow data to be entered into the field when the form is rendered in run mode. If the one or more conditions are not met, the field is configured as non-editable, i.e., data entry into the field is prevented, for example, by greying out the field. An alternative configuration, i.e., the field is editable if the one or more conditions are not met and not editable if the one or more conditions are met, is included in one or more embodiments. An example for configuring the editable conditional validation is described with reference to Figures 4A-4F.

[0026] A visible conditional validation corresponds to a field's visibility property and one or more associated conditions that, if met, make the field visible (or displayed) in the form when the form is rendered in run mode. If the one or more conditions are not met, the field is not visible (or hidden). An alternative configuration, i.e., the field is shown if the one or more conditions are not met and hidden if the one or more conditions are met, is included in one or more embodiments. An example for configuring a visible conditional validation is described with reference to Figures 5A-5D.

[0027] A background conditional validation corresponds to a background property of a field and one or more associated conditions that, when satisfied, cause the field to be visually presented in a form in a predefined format different from other fields when the form is rendered in execution mode. For example, the background of the field is highlighted in a different color, e.g., blue or gray, than other fields. Other ways of differentiating and displaying fields are within the scope of various embodiments. If one or more conditions are not satisfied, the field is displayed in the same manner or format as other fields in the form, i.e., the field is not highlighted. An alternative configuration, i.e., the field is highlighted when one or more conditions are not satisfied and is not highlighted when one or more conditions are satisfied, is included in one or more embodiments. An example for configuring a background conditional validation is described with reference to FIGS. 6A-6C.

[0028] 3A-3D are schematic diagrams related to mandatory properties, according to some embodiments. Specifically, Fig. 3A and Fig. 3B are schematic diagrams illustrating various parameters for defining at least one condition for controlling the mandatory property of a selected field of a form in a setup mode. Fig. 3C-3D are schematic diagrams illustrating various visually presented states of the field and / or the form depending on whether the defined condition of the mandatory property is met when the form is in a run mode.

[0029] In response to a required user selection in screen 232 of Figure 2C, the view builder 110 causes screen 300 to be displayed as shown in Figure 3A. Figure 3B shows the bottom of screen 300 when screen 300 has been scrolled down by scroll bar 302 or a corresponding gesture.

[0030] In FIG. 3A, the screen 300 includes drop-down menus 304, 306, 308, 310 for selecting corresponding ones of a plurality of parameters of the required conditional validation. The drop-down menu 304 is for selecting a value of the required property. The drop-down menus 306, 308, 310 are for selecting parameters that define the condition of the required conditional validation. The screen 300 further includes a checkbox 320 that, when checked, causes the view builder 110 to display an expression input area for the user to manually enter one or more conditions instead of defining the condition via the drop-down menus 306, 308, 310. Further details regarding this expression option associated with the checkbox 320 are described with reference to FIGS. 5A-5B and 7A-7B.

[0031] The drop-down menu 304, when selected, visually presents the user with a first list of selectable values, such as "Yes" (shown in FIG. 3A) and "No" (not shown), for the required property. When the user selects "Yes" from the drop-down menu 304, the required conditional validation is configured such that the selected field becomes a required field when the condition is met. When the user selects "No" from the drop-down menu 304, the required conditional validation is configured such that the selected field becomes a non-required (optional) field when the condition is met.

[0032] When selected, the drop-down menu 306 visually presents the user with a second list of selectable fields that can be used in defining a condition for controlling the mandatory property of the selected field. In some embodiments, this second list of selectable fields is similar to the list 220 described with respect to FIG. 2A. In some embodiments, the second list of selectable fields that is displayed when the drop-down menu 306 is selected includes other fields in the same form and / or different forms as the selected field, and / or other fields in the same table as the selected field and / or different tables. In at least one embodiment, the second list of selectable fields includes fields in the same database as the selected field. Hereinafter, the selected field is referred to as the first field, and the other field selected from the drop-down menu 306 is referred to as the second field. The condition for controlling whether the first field is a mandatory field is based on the different second field. In an example for a form usable with a cellular network, when selected, the drop-down menu 306 displays fields such as "Site Address 1", "FA Code", "USID", "Is this site designated as a quiz zone", "Project Number", "Link ID", etc.

[0033] The drop-down menu 308, when selected, visually presents the user with a third list of selectable relationships (or conditions) that are used along with the other parameters selected by the drop-down menus 304, 310 to define the condition of the conditional validation. In some embodiments, the third list of selectable relationships includes "empty", "not empty", "equal to", "not equal to", "greater than", "less than", etc.

[0034] When selected, the drop-down menu 310 visually presents the user with a fourth list of one or more selectable values ​​for the second field selected from the drop-down menu 306. The fourth list additionally or alternatively includes a selectable item "Other" to allow the user to enter a value not found in the fourth list. As shown in FIG. 3A, when the "Other" item is selected from the drop-down menu 321, the view builder 110 displays an input area 312 for the user to enter the desired value. Here, the value may be a number, a logical value, a string, etc. In the example of FIG. 3B, the user entered "Tokyo" into the input area 312.

[0035] A condition is defined based on parameters received by user selection and / or input via drop-down menus 306, 308, 310. These parameters are collectively referred to as a set of user inputs. In the example of FIG. 3B, the condition defined by the set of user inputs is "Site Address 1 equals Tokyo." In this example, "Site Address 1" is the second field. In combination with the value selected in drop-down menu 304, a required conditional validation is defined as follows: If Site Address 1 equals Tokyo, then the first field becomes a required field.

[0036] As shown in FIG. 3B, a button 314 is displayed that allows the user to add another condition in the same conditional validation. When the button 314 is selected, the user can select / enter, by the same drop-down menu 306, 308, 310 or a similar drop-down menu, a further set of user inputs that define the further condition. For example, the further condition is "FA Code is Empty" where "FA Code" is the selected third field and "Empty" is the selected relationship. Because of the selected relationship "Empty", no selected value is required. In some embodiments, a logical operand such as AND or OR can be inserted between the different conditions by user selection of the appropriate operand in another drop-down menu (not shown) of the view builder 110. In this particular example, the operand AND is inserted between the conditions, resulting in a conditional validation with the following two conditions: the first field becomes a required field both if Site Address 1 is equal to Tokyo and if FA Code is Empty. One or more further conditions can be defined by repeating the above-described process of operating the button 314 and selecting / entering another set of user inputs. As a result, it is possible to apply / enforce multiple conditions on a selected field using different other available fields from various resources (eg, tables).

[0037] The screen 300 further comprises a cancel button 316 for canceling the edit / change operation and a save button 318 for accepting / saving the defined condition and / or conditional validation. In at least one embodiment, when the user operates (e.g., clicks) the save button 318, the defined condition and / or conditional validation is accepted and the view builder 110 is configured to automatically generate source code corresponding to the defined condition and / or conditional validation. The automatically generated source code is then stored with the form. In some embodiments, the form is described by a JSON configuration and the automatically generated source code of the defined conditional validation includes a corresponding JSON expression added to the JSON configuration of the form. In at least one embodiment, the automatic generation of the source code of the defined conditional validation does not require the writing or creation of an Extensible Markup Language (XML) or Hypertext Markup Language (HTML) file. In at least one embodiment, no manual coding by the user is required. The user simply selects one or more parameters from drop-down menus 304, 306, 308, 310 and / or enters a desired value (e.g., "Tokyo" in input area 312). The described edit / modify operations for adding / modifying conditional validations are intuitive and user-friendly and do not require programming skills on the part of the user, who may be a customer.

[0038] In Figures 3C-3D, a portion of a form 330 is shown in run mode with a required conditional validation defined as described with reference to Figures 3A-3B. In this example, the first field being controlled is "Site Address" and the second field is "Site Address 1", and the conditional validation includes one condition based on the second field and is defined as follows: if Site Address 1 is equal to Tokyo, then Site Address is a required field.

[0039] In FIG. 3C, the value (none) in the second field "Site Address 1" is not equal to "Tokyo", the condition is not met, and the first field "Site Address" is not a required field, i.e., "Site Address" is an optional field into which data can be entered but is not required.

[0040] In Figure 3D, when a user (while testing / previewing the form 330 in the view builder 110) or an end user (while using the form 330 for data entry and / or manipulation) enters "Tokyo" into the second field "Site Address 1", the condition is met and the first field "Site Address" is dynamically changed to a required field in real time, as indicated by the asterisk symbol 332 added to the field name "Site Address". Data must now be entered into the required field "Site Address".

[0041] 4A-4F are schematic diagrams related to editable properties, according to some embodiments. Specifically, FIG. 4A is a schematic diagram showing a field 431 selected for editing in a form 430, FIG. 4B is a schematic diagram showing the field 431 when selected, and FIG. 4C-4D are schematic diagrams showing various parameters for defining at least one condition for controlling an editable property of the selected field 431 of the form 430 in a configuration mode. FIG. 4E-4F are schematic diagrams showing various visually presented states of the field 431 and / or the form 430 depending on whether a defined condition of the editable property is satisfied when the form 430 is in a run mode.

[0042] 4A shows a portion of a form 430 in a setup mode. The portion shown includes a first field 431 "Site Address" to be controlled by conditional validation, and a second field 432 "Site Address Update?" for controlling the first field 431. The second field 432 has two pairs of associated radio buttons 433, 434 corresponding to the two values ​​"Yes" and "No" of the second field 432. Selection of one of the radio buttons 433, 434 is used in the conditional validation of the editability of the first field 431 to control whether the first field 431 is editable or not.

[0043] In Figure 4B, in response to a user selection of a first field 431, menu 228 is displayed for the selected field, as described with respect to Figure 2B. In response to a user selecting edit option 230 in menu 228, screen 232 is displayed by the view builder 110 GUI, as described with respect to Figure 2C. Upon user selection of editable in screen 232 of Figure 2C, view builder 110 causes screen 400 to be displayed, as shown in Figures 4C-4D.

[0044] 4C-4D, screen 400 is similar to screen 300 and includes scroll bar 402, drop down menus 404, 406, 408, 410, cancel button 416, save button 418, checkboxes 420, and additional drop down menu 422. In at least one embodiment, scroll bar 402, drop down menus 404, 406, 408, 410, cancel button 416, save button 418, and checkboxes 420 correspond to scroll bar 302, drop down menus 304, 306, 308, 310, cancel button 316, save button 318, and checkboxes 320 described with respect to FIGS.

[0045] In some embodiments, the drop-down menu 406 includes a single selectable field corresponding to the second field 432 "Site Address Update?" for controlling the selected first field 431 "Site Address". The drop-down menu 408 includes a single selectable relationship "Equals" and the drop-down menu 410 includes a single selectable item "Other". When the user selects the item "Other" from the drop-down menu 410, the view builder 110 displays an additional drop-down menu 422 with two selectable items "Yes" and "No" corresponding to the radio buttons 433, 434 associated with the second field 432. The condition defined by the set of user inputs selected from the drop-down menus 406, 408, 410, 412 is "Site Address Update?" equals Yes. In combination with the value "Yes" selected in the drop-down menu 404, the conditional validation of editable is defined as follows: Site Address is editable when Site Address Update? equals Yes. The view builder 110 is configured to automatically generate source code corresponding to the defined conditions and / or conditional validations, and the automatically generated source code is stored with the form 430, as described with respect to Figures 3A-3B, along with one or more advantages described herein.

[0046] In Figures 4E-4F, a portion of a form 430 having a first field 431 in which editable conditional validation is defined based on a second field 432, as described in Figures 4C-4D, is shown in execution mode.

[0047] In Figure 4E, when radio button 433 "Yes" is selected in second field 432, the defined condition "Update Site Address?" is met and the "Site Address" in first field 431 becomes editable. As shown in Figure 4E, data, for example "United States", can be entered into editable first field 431.

[0048] In Figure 4F, when radio button 434 "No" is selected in second field 432, the defined condition "Update Site Address?" is not met and first field 431 "Site Address is Editable" is dynamically changed in real-time to become a non-editable field. For example, as shown in Figure 4F, first field 431 is grayed out to prevent data entry into this now non-editable field.

[0049] 5A-5G are schematic diagrams related to visibility properties according to some embodiments. In particular, Figs. 5A and 5B are schematic diagrams illustrating alternative options for defining at least one condition for controlling the visibility property of a selected field of a form in a setup mode. Figs. 5C-5D are schematic diagrams illustrating various visually presented states of a field and / or a form depending on whether a defined condition of the visibility property of the field is met when the form is in an execution mode. Figs. 5E-5G are schematic diagrams illustrating visually presented states of various fields of a further form depending on whether a defined condition of the visibility property is met when the further form is in an execution mode.

[0050] In response to a visible user selection in screen 232 of FIG. 2C, view builder 110 causes screen 500 to be displayed as shown in FIGS. 5A-5B. Screen 500 is similar to screens 300, 400 and includes various drop down menus, buttons, etc., as described with respect to FIGS. 3A-3B, 4C-4D. For simplicity, only scroll bar 502, drop down menu 504, cancel button 516, save button 518, and checkboxes 520 are shown in FIGS. 5A-5B, while other elements of screen 500 have been omitted. Scroll bar 502, drop down menu 504, cancel button 516, save button 518, and checkboxes 520 correspond to scroll bar 302, drop down menu 304, cancel button 316, save button 318, and checkboxes 320, as described with respect to FIGS. 3A-3B.

[0051] In the example of Figures 5A-5B, instead of using various drop-down menus to select / enter a set of user inputs defining a condition, as described with reference to Figures 3A-3B, 4C-4D, the user instead checks a checkbox 520 (Figure 5A) that causes the view builder 110 to display an expression input area 522 (Figure 5B) for accepting logic and / or mathematical expressions manually entered by the user. The view builder 110 also causes a further drop-down menu 526 (Figure 5A) to be displayed for the user to select one or more components to be quickly inserted into the expression input area 522. In some embodiments, the drop-down menu 526 includes a list of available fields similar to the list 220 described with respect to Figure 2A. Other components that may be included in the drop-down menu 526 are within the scope of various embodiments. An exemplary expression is shown in the expression input area 522 of Figure 5B and includes multiple conditions linked with an AND operand represented by "&&". In various embodiments, other operands are available. When multiple conditions are met, the selected fields are made visible as defined by the user selection in the drop-down menu 504 of Figure 5A.

[0052] The described formula options require the user to have a certain level of programming experience and / or knowledge, but are advantageous in their flexibility. Specifically, the user is able to define one or more conditions without being limited to the selectable items included in the drop-down menu as described herein. For example, the user may manually enter the condition using a field or another parameter not included in the drop-down menu, a mathematical expression, etc. The view builder 110 is configured to automatically generate source code corresponding to the formula manually entered in the formula input area 522, and the automatically generated source code, along with one or more advantages described herein, is then stored with the form, as described with reference to FIGS. 3A-3B.

[0053] It should be noted that in at least one embodiment, the option of the expression using the checkboxes 520 and the expression input area 522 is an alternative to, and does not preclude, the operation for defining the condition using the drop-down menus described in connection with Figures 3A-3B, 4C-4D. For example, Figures 5C-5D are schematic diagrams illustrating a portion of a form 530 in execution mode in which visible conditional validations are defined in a manner similar to that described in connection with Figures 4A-4E. It should be noted that the visible conditional validations defined for the form 530 of Figures 5C-5D are not related to the exemplary expression in the expression input area 522 of Figure 5B.

[0054] In FIG. 5C, form 530 includes fields 535, 536 that belong to field group 537. Fields in the same group share one or more common properties. For example, fields 535, 536 share the same visibility property, which is also the visibility property of field group 537. A visibility conditional validation is defined for the visibility property of field group 537, which is controlled by another field 532 with radio buttons 533, 534, in a manner similar to that described with reference to FIGS. 4C-4D. When radio button 533 "Yes" is selected for field 532, the defined visibility conditional validation is met and field group 537 including both fields 535, 536 becomes visible, i.e., shown, for data entry.

[0055] 5D, when radio button 534 "No" is selected for field 532, the defined visibility conditional validation is not met and field group 537 containing both fields 535, 536 is dynamically modified in real-time to be invisible, i.e., hidden, for data entry. Because fields 535, 536 for entering data specific to field 532 value "Yes" are hidden when field 532 value is "No," the user interface, i.e., form 530, becomes less crowded and prevents the end user from being distracted by unnecessary date entries.

[0056] 5E-5G are schematic diagrams illustrating a further form 560 in run mode.

[0057] In Figure 5E, form 560 includes fields 561, 562, 563. Field 562 "CRAN / DRAN" and field 563 "Repeater Type" have respective visibility conditional validations defined based on different values ​​of field 561 "Solution Category." When field 561 is blank, the visibility conditional validations of fields 562, 563 are both satisfied (valid) and fields 562, 563 are both visible.

[0058] In Figure 5F, when "BS Macro" is entered / selected in field 561, the visibility conditional validation of field 562 is enabled, but the visibility conditional validation of field 563 is disabled. As a result, field 562 is visible, but field 563 is hidden.

[0059] In Figure 5G, when "Repeater" is entered / selected in field 561, the visible conditional validation of field 562 is disabled, but the visible conditional validation of field 563 is enabled. As a result, field 563 is visible, but field 562 is hidden.

[0060] 6A-6C are schematic diagrams related to background properties according to some embodiments. Specifically, FIG. 6A is a schematic diagram illustrating various parameters for defining at least one condition for controlling a background property of a selected field of a form in a setup mode. FIG. 6B-6C are schematic diagrams illustrating various visually presented states of the field and / or the form depending on whether a defined condition of the background property is met when the form is in a run mode.

[0061] In response to a user selection of a background in screen 232 of FIG. 2C, view builder 110 causes screen 600 to be displayed as shown in FIG. 6A. Screen 600 is similar to screens 300, 400 and includes various drop down menus, buttons, etc., as described with respect to FIGS. 3A-3B, 4C-4D. For simplicity, scroll bar 602, drop down menus 604, 606, 608, 610, and check boxes 620 are shown in FIG. 6A, while other elements of screen 600 have been omitted. Scroll bar 602, drop down menus 604, 606, 608, 610, and check boxes 620 correspond to scroll bar 302, drop down menus 304, 306, 308, 310, and check boxes 320, as described with respect to FIGS. 3A-3B. Background conditional validation is defined for the selected field using various drop-down menus 604, 606, 608, 610 in a manner similar to that described with respect to Figures 3A-3B. The view builder 110 is configured to automatically generate source code corresponding to the defined background conditional validation, which is then stored with the form with one or more advantages as described herein.

[0062] 6B-6C show a portion of a form 630 in execution mode, in which background conditional validation is defined. In this example, fields 631-633 belong to the same field group in which background conditional validation is defined.

[0063] In Figure 6B, the background conditional validation is met for the first time. For example, the condition is met if the entered data is incorrect or inconsistent (the region "center" of field 633 is incorrect or inconsistent with the "District of Columbia" and "DC" of fields 631, 632). As a result, the field group that includes fields 631-633 is highlighted to distinguish it from other fields (not shown) of the same form 630. For example, the background of fields 631-633 is changed to gray, while the background of the other fields of form 630 remains white.

[0064] In FIG. 6C, the conditional validation of the background is met a second time. For example, the condition is met if the entered data is again incorrect or inconsistent (area "NE" in field 633 is inaccurate or inconsistent with "Banner" and "NE" in fields 631, 632). As a result, the field group including fields 631-633 is highlighted to be distinguishable from other fields (not shown) of the same form 630, but in a different manner than when the condition was met the first time, as described with respect to FIG. 6B. For example, when the condition is met the second time (incorrect / inconsistent data entry), the background of fields 631-633 is changed to light blue, while the background of the other fields of form 630 remains white. The described number of times the condition is met before a particular color and / or background color change occurs are examples. Other configurations are within the scope of various embodiments. By highlighting certain fields from other fields and / or by changing the background color of a field when the same condition is met a predetermined number of times, it is possible to draw the end user's attention to the particular data being entered, thereby reducing the possibility of erroneous data entry and / or prompting the end user to double-check the data entered.

[0065] 7A-7B are schematic diagrams illustrating one or more conditions defined by user input of one or more expressions, according to some embodiments. Elements in FIG. 7A-7B having corresponding elements in FIG. 5A-5B are shown with the reference numbers of FIG. 5A-5B increased by 200.

[0066] Similar to FIGS. 5A-5B, in the exemplary configurations of FIGS. 7A-7B, the one or more conditions are defined by user input of one or more expressions, including at least one logical expression and / or at least one mathematical expression. For example, in response to a user selection of a property (e.g., editable) in screen 232 of FIG. 2C, view builder 110 causes screen 300 to be displayed as shown in one or more of FIGS. 3A-3B. In screen 300, drop-down menus 304, 306, 308, 310 corresponding to a number of selectable parameters are displayed along with checkboxes 320 corresponding to selectable items in an expression input area. Thus, the user is presented with two alternative options for defining one or more conditions, for example, by one or more sets of user input selected from the drop-down menus or by one or more expressions entered in the expression input area. If the user wishes to exercise the expression option, the user may select (or check) checkbox 320 (corresponding to checkbox 520 in FIGS. 5A-5B and / or checkbox 720 in FIGS. 7A-7B). When a user selects a checkbox, the view builder 110 causes an expression input area to be displayed in place of one or more of the selected parameters. For example, as shown in example screen 700 of FIGS. 7A-7B, an expression input area 722 and a further drop-down menu 726 are displayed in place of several drop-down menus corresponding to drop-down menus 306, 308, 310.

[0067] The expression input area 722 allows the user to input one or more expressions to define one or more conditions on the currently selected field. The input one or more expressions may be one or more logical expressions and / or one or more mathematical expressions. In the example configuration of FIG. 7A, an example mathematical expression 731 corresponding to one condition of the selected field, i.e., "data.MrfDetails.usid>120", is input into the expression input area 722. In this example, the user may manually input the entire expression 731. The user may then select a save button 718, which causes the view builder 110 to accept the condition and / or conditional validation corresponding to the expression 731, automatically generate source code corresponding to the accepted condition and / or conditional validation, and store the automatically generated source code with the form as described herein. Alternatively, the user may input one or more additional expressions to impose one or more additional conditions on the currently selected field.

[0068] A user can enter logical operands between expressions in the expression input area 722. In the exemplary configuration of FIG. 7B, the user enters an expression 731 followed by a logical operand 732 (i.e., AND is represented by "&&"). In various embodiments, other operands are available. The user can then use a further drop-down menu 726 to select one or more components to be quickly inserted into the expression input area 722 for the next expression 733. In some embodiments, the drop-down menu 726 includes a list of available fields similar to the list 220 described with respect to FIG. 2A. Other components that may be included in the drop-down menu 726 are within the scope of various embodiments. An exemplary field 734, namely "MW Project Number", is shown in FIG. 7B as being selected by the user from the further drop-down menu 726. When the user selects the field 734, the field is automatically included in the expression input area 722 as part of the expression 733, namely "data.MWLinkDetails.microWave.Project.Number>1000". In at least one embodiment, the use of selectable fields from the further drop-down menu 726 advantageously reduces the user's time spent entering expressions. Two or more expressions linked by one or more logical operands may be entered in the expression entry area 722. When the user selects the save button 718, the view builder 110 automatically generates source code corresponding to the entered expressions and their connecting operands, as described herein, and stores the automatically generated source code with the form. In at least one embodiment, one or more advantages described herein in connection with FIGS. 5A-5B may be achieved.

[0069] 8A is a flowchart of a process 800A for creating or modifying a conditional validation, according to some embodiments. In at least one embodiment, the process 800A is performed by the view builder 110 in a setup mode, as described with respect to one or more of FIGS.

[0070] In operation 805, an expression input area is visually presented. The expression input area is for accepting user input of at least one expression that defines at least one condition for controlling a property of a first field of the form in a setting mode. The at least one expression includes at least one of a logical expression or a mathematical expression. For example, the expression input area 522 or 722 is visually presented. The expression input area is an area for accepting user input of an expression (FIG. 7A) or a plurality of expressions (FIGS. 5B, 7B). The at least one expression includes at least one expression and / or at least one mathematical expression as described in connection with FIGs. 5B, 7A, 7B. The entered expression may be entered manually by a user, for example as described in connection with FIG. 7A, and / or may be entered at least in part by a user's selection of one or more fields from a list, for example as described in connection with FIG. 7B.

[0071] At operation 815, at least one condition is generated corresponding to the at least one expression entered into the expression entry area, as described herein. If multiple expressions are entered, multiple corresponding conditions are generated and logically combined based on logical operands connecting the multiple expressions. As a result, it is possible to impose multiple conditions on a selected field from one or more other fields and / or using one or more mathematical expressions, as described herein.

[0072] At operation 825, the generated at least one condition is stored with the form. For example, as described herein, the view builder 110 automatically generates source code corresponding to the generated condition and / or the defined conditional validation and stores the automatically generated source code with the form, for example, in the form's JSON configuration. The stored source code is executed when the form is rendered in run mode, for preview / testing in the view builder 110 or for data entry and / or manipulation by an end user.

[0073] In some embodiments, conditional validation facilitates users to impose multiple conditions on any field of a view or form based on other available fields of the form, or on the same database but not on the form. Some embodiments utilize the creation of forms and automate the creation of source code for conditional validation of forms based on the form and the user input parameters contained in the form. This helps to reduce manual processes by designing generic forms according to the needs of users. Users can add fields from existing resources, e.g., database tables, and set conditional validation, layout, conditions for different parameters in the fields of the form. This also helps users (customers) to handle complex forms themselves without the assistance of the original form creator / developer.

[0074] In at least one embodiment, the conditions for the conditional verification are defined by selecting desired parameters from among existing parameters. If the condition cannot be created using existing parameters, the user is given the option to manually enter logic and / or formulas to achieve the desired conditional verification. Although manually entered formulas require a certain amount of manual handling and / or programming on the part of the user, this is significantly less than other and / or existing approaches that require the user to do manual coding to obtain the necessary source code.

[0075] In at least one embodiment, advantages provided by the described conditional validation for the view builder include, but are not limited to, a user-friendly user interface for easy configuration and / or execution, no or low technical expertise required to configure the views (forms), and faster execution since the software and / or source code is JSON-based.

[0076] 8B is a flowchart of a process 800B for rendering a form with conditional validation, according to some embodiments. In at least one embodiment, the process 800B is performed on the computer system 140 by the view builder 110 for preview / testing or for data entry and / or manipulation by an end user. In some embodiments, the form is rendered by accessing and / or executing a JSON configuration of the form.

[0077] In operation 802, the current field in the form is processed.

[0078] At operation 804, it is determined whether the current field is a conditional field based on the description of the current field in the JSON configuration.

[0079] At operation 806, which corresponds to a determination at operation 804 that the current field is not a conditional field, the current field is rendered without conditional validation.

[0080] At operation 808, which corresponds to the determination at operation 804 that the current field is a conditional field, it is determined whether the condition associated with the current field includes an expression, for example an expression entered via expression input area 522 described with respect to FIG. 5B.

[0081] In operation 810, which corresponds to a determination in operation 808 that the condition associated with the current field includes an expression, a watcher event is applied to each operand of the expression. In some embodiments, the watcher event includes code, written in, for example, Java, to calculate and apply condition logic to the parameters. The computer system executes the query entered at the time of configuration.

[0082] At operation 812, which corresponds to a determination at operation 808 that the condition associated with the current field does not include an expression, i.e., the condition associated with the current field is defined by user input / selection of parameters as described herein, a form group event is applied to each operand between the conditions. As described herein, the operands include logical operators (e.g., AND, OR, etc.) between the parameters to define the condition. In some embodiments, the form group event is an Angular java script event.

[0083] In operation 814, an event addition is performed on the parent field of the current field based on the result output from operation 810 or operation 812. A parent field is a field that controls the behavior of other fields. For example, field 432 in FIG. 4A is a parent field and field 431 is a child field.

[0084] In operation 816, a subscribe event is added to the child field of the current field, and in parallel, in operation 818, a trigger event is sent to the child field. In at least one embodiment, operation 816 is an event triggering event based on operation 814. For example, in the case of a parent field, a condition is that some changes have been applied, and based on such changes, the child field gets a trigger to accept the changes. In at least one embodiment, in operation 818, a trigger is sent to the child field based on the trigger event.

[0085] At operation 820, one or more events from the parent field are received and applied to a condition associated with the current field to control one or more of the required property, the visible property, the editable property, and the background property of the current field. In other words, operation 820 outputs the final result of the conditional validation.

[0086] The described methods and algorithms include exemplary operations, which need not necessarily be performed in the order presented. Operations can be added, substituted, reordered, and / or deleted as desired in accordance with the spirit and scope of the embodiments of the present disclosure. Embodiments combining different features and / or different embodiments are within the scope of the present disclosure and will be apparent to those of ordinary skill in the art after reviewing the present disclosure.

[0087] 9 is a schematic block diagram of a computer system 900 according to some embodiments. Examples of computer systems 900 include, but are not limited to, desktops, laptops, tablets, smartphones, servers, etc.

[0088] Computer system 900 includes a hardware processor 902 and a non-transitory computer-readable storage medium 904. Storage medium 904 is encoded with, i.e., stored with, among other things, computer program code 906, i.e., a set of executable instructions, such as for one or more algorithms, programs, applications, view builders, etc., as described with respect to one or more of Figures 1-8B. Execution of instructions 906 by hardware processor 902 performs some or all of the methods described herein (hereinafter, processes and / or methods described) according to one or more embodiments.

[0089] The processor 902 is coupled to a non-transitory computer-readable storage medium 904 via a bus 908. The processor 902 is also coupled to an I / O interface 910 by the bus 908. A network interface 912 is connected to the processor 902 via the bus 908. The network interface 912 is connected to a network 914 such that the processor 902 and the computer-readable storage medium 904 can connect to external elements or devices via the network 914. The processor 902 is configured to execute computer program code 906 encoded on the computer-readable storage medium 904 to enable the computer system 900 to perform some or all of the processes and / or methods described. In one or more embodiments, the processor 902 includes a central processing unit (CPU), a multiprocessor, a distributed processing system, an application specific integrated circuit (ASIC), and / or other suitable hardware processing unit.

[0090] In one or more embodiments, computer readable storage medium 904 includes an electronic, magnetic, optical, electromagnetic, infrared, and / or semiconductor system (or apparatus or device). For example, computer readable storage medium 904 includes a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a Random Access Memory (RAM), a Read-Only Memory (ROM), a rigid magnetic disk, and / or an optical disk. In one or more embodiments using an optical disk, computer readable storage medium 904 includes a Compact Disk-Read Only Memory (CD-ROM), a Compact Disk-Read / Write (CD-R / W), and / or a Digital Video Disc (DVD).

[0091] In one or more embodiments, the storage medium 904 stores computer program code 906 configured to enable the computer system 900 to perform some or all of the processes and / or methods described. In one or more embodiments, the storage medium 904 also stores information or data 907, such as event data, consumer data, enterprise data, policies, component configurations, etc., used in some or all of the processes and / or methods described above.

[0092] The I / O interface 910 is coupled to external circuitry. In one or more embodiments, the I / O interface 910 includes a keyboard, a keypad, a mouse, a trackball, a trackpad, a touch screen, and / or cursor direction keys for communicating information and commands to the processor 902. The computer system 900 is configured to receive information via the I / O interface 910. The information received via the I / O interface 910 includes one or more of instructions, data, policies, configurations, and / or other parameters for processing by the processor 902. The information is transferred to the processor 902 via the bus 908. The computer system 900 is configured to receive information related to a user interface via the I / O interface 910. The information is stored in the computer-readable storage medium 904 as a user interface (UI) 942.

[0093] The network interface 912 allows the computer system 900 to communicate with a network 914 to which one or more other computer systems are connected. The network interface 912 includes a wireless network interface, such as BLUETOOTH, WIFI, WIMAX, GPRS, LTE, 5G, 6G, WCDMA, etc., or a wired network interface, such as ETHERNET, USB, IEEE-864, etc. In one or more embodiments, some or all of the processes and / or methods described are performed on two or more computer systems 900.

[0094] In some embodiments, some or all of the described processes and / or methods are implemented as a stand-alone software application for execution by one or more hardware processors. In some embodiments, some or all of the described processes and / or methods are implemented as a software application that is part of an additional software application. In some embodiments, some or all of the described processes and / or methods are implemented as a plug-in to a software application.

[0095] In some embodiments, some or all of the described processes and / or methods are implemented as a function of a program stored in a non-transitory computer-readable recording medium. The non-transitory computer-readable recording medium on which the program is stored is a computer program product. Examples of non-transitory computer-readable recording media include, but are not limited to, one or more of external / removable and / or internal / built-in storage or memory units, such as optical disks such as DVDs, magnetic disks such as hard disks, semiconductor memories such as ROMs, RAMs, memory cards, etc.

[0096] In some embodiments, a system for conditional validation in a form comprises at least one processor and at least one memory coupled to the at least one processor and configured to store executable instructions that, when executed by the at least one processor, cause the at least one processor to visually present an expression input area for accepting user input of at least one expression defining at least one condition for controlling a property of a first field of the form in a configuration mode, generate at least one condition corresponding to the at least one expression, and store the generated at least one condition with the form. The at least one expression includes at least one of a logical expression or a mathematical expression.

[0097] In some embodiments, a method for conditional validation in a form is performed at least in part by at least one processor and includes visually presenting, in a configuration mode, an expression input area for accepting user input of at least one expression defining at least one condition for controlling a property of a first field of the form, generating at least one condition corresponding to the at least one expression, and storing the generated at least one condition with the form, wherein the at least one expression includes at least one of a logical expression or a mathematical expression.

[0098] In some embodiments, a computer program product includes a non-transitory tangible computer-readable storage medium storing a computer program that, when executed by at least one processor, causes the at least one processor to visually present an expression input area for accepting user input of at least one expression defining at least one condition for controlling a property of a first field of a form in a setup mode, generate at least one condition corresponding to the at least one expression, and store the generated at least one condition with the form, wherein the at least one expression includes at least one of a logical expression or a mathematical expression.

[0099] The above outlines the features of some embodiments so that those skilled in the art can better understand the aspects of the present disclosure. It should be understood that those skilled in the art may easily use this disclosure as a basis for designing or modifying other processes and structures to carry out the same purpose and / or achieve the same advantages of the embodiments introduced herein. Those skilled in the art should also understand that such equivalent constructions do not depart from the spirit and scope of the present disclosure, and that various changes, substitutions, and alterations can be made herein without departing from the spirit and scope of the present disclosure.

Claims

1. 1. A system for conditional validation in a form, comprising: At least one processor; and When coupled to the at least one processor and executed by the at least one processor, the at least one processor visually presenting an expression input area for accepting user input of at least one expression defining at least one condition for controlling a property of a first field of the form in a setup mode; generating the at least one condition corresponding to the at least one expression; storing said generated at least one condition in said form; at least one memory configured to store executable instructions to cause the The at least one formula includes at least one of a logical formula or a mathematical formula.

2. The executable instructions, when executed by the at least one processor, further cause the at least one processor to: visually presenting a list of one or more selectable fields; in response to a user selection of a second field from the list of one or more selectable fields, adding the second field to the formula input area to facilitate the user input of the at least one formula, the second field being different from the first field; The system of claim 1 .

3. the first field and the second field are in the same table of a database; or the first field and the second field are in different tables of the database; or the second field is of the same form as the first field, or the second field is a further form different from the form containing the first field; The system of claim 2.

4. The executable instructions, when executed by the at least one processor, further cause the at least one processor to: Adding a new field to the form, selected from a visually presented list of available fields; The system of claim 1 .

5. the at least one expression includes a plurality of expressions connected by one or more logical operands; the at least one condition includes a plurality of conditions each defined by a corresponding one of the plurality of formulas; The system of claim 1 .

6. The plurality of formulas includes at least one mathematical formula, The system of claim 5.

7. The executable instructions, when executed by the at least one processor, further cause the at least one processor to: visually presenting a list of selectable properties of the first field; in response to a user selection of the property from the list of selectable properties, causing a visual presentation of (i) a plurality of parameters and (ii) selectable items corresponding to the formula input area. The system of claim 1 .

8. The executable instructions, when executed by the at least one processor, further cause the at least one processor to: in response to a user selection of the selectable item corresponding to the formula input area, causing the formula input area to be visually presented in place of one or more of the plurality of parameters. The system of claim 7.

9. The executable instructions, when executed by the at least one processor, further cause the at least one processor to: generating a condition corresponding to a set of user inputs for the plurality of parameters; storing the generated conditions corresponding to the set of user inputs together with the form; the generated condition corresponding to the set of user inputs is based on a second field different from the first field. The system of claim 7.

10. the set of user inputs each comprising an item selected from a visually presented list of items corresponding to a parameter of the plurality of parameters. The system of claim 9.

11. The executable instructions, when executed by the at least one processor, further cause the at least one processor to: in response to a user selection of a parameter from the plurality of parameters, visually presenting a plurality of items corresponding to the selected parameter; in response to a user selection of an item from the plurality of items, causing the selected item to be accepted as a user input for the selected parameter of the set of user inputs. The system of claim 9.

12. the plurality of parameters include first to fourth parameters, The executable instructions, when executed by the at least one processor, further cause the at least one processor to: visually presenting a first list of selectable property values ​​for the property of the first field in response to a user selection of the first parameter; visually presenting a second list of one or more selectable fields including the second field in response to a user selection of the second parameter; visually presenting a third list of one or more selectable relationships in response to a user selection of the third parameter; visually presenting an input field and / or a fourth list of one or more selectable values ​​in response to a user selection of the fourth parameter; A property value selected from the first list; the second field selected from the second list; A relationship selected from the third list; and a value selected from the fourth list or an input value received via the input field generating said condition based on The system of claim 9.

13. The property of the first field is: a required property for configuring the first field as required to require data to be entered into the first field in response to whether the at least one condition defined by the at least one expression is satisfied when the form is in a run mode; an editable property for configuring the first field as editable to allow data to be entered into the first field in response to whether the at least one condition defined by the at least one expression is satisfied when the form is in the run mode; a visibility property that causes the first field to be visible in the form when the form is in the run mode in response to the at least one condition defined by the at least one expression being satisfied; or a background property that causes the first field to be visually presented in a predetermined format different from other fields in the form in response to whether the at least one condition defined by the at least one expression is satisfied when the form is in the execution mode. comprising one selected from the group consisting of: The system of claim 1 .

14. The executable instructions, when executed by the at least one processor, further cause the at least one processor to: causing the form to be rendered in an execution mode in which the first field has a different visually presented state depending on whether the at least one condition defined by the at least one expression is satisfied. The system of claim 1 .

15. 1. A method of conditional validation in a form, the method being performed at least in part by at least one processor, comprising: visually presenting, in a setup mode, an expression input area for accepting user input of at least one expression defining at least one condition for controlling a property of a first field of the form; generating the at least one condition corresponding to the at least one expression; and storing said generated at least one condition in said form. The method, wherein the at least one formula includes at least one of a logical formula or a mathematical formula.

16. the storing includes updating a JavaScript Object Notation (JSON) configuration of the form with the generated at least one condition without writing an Extensible Markup Language (XML) or HyperText Markup Language (HTML) file. The method of claim 15.

17. said generating and said storing do not require coding by a user; The method of claim 15.

18. rendering the form in an execution mode in which the first field has a different visually presented state depending on whether the at least one condition defined by the at least one expression is satisfied. The method of claim 15.

19. the rendering is performed without linking the form to a database that contains the first field.

20. The method of claim 18.

20. A computer program product that, when executed by at least one processor, causes the at least one processor to: visually presenting an expression input area for accepting user input of at least one expression defining at least one condition for controlling a property of a first field of the form in a setup mode; generating the at least one condition corresponding to the at least one expression; storing said generated at least one condition in said form; a non-transitory, tangible computer-readable storage medium having stored thereon a computer program for causing the The at least one formula comprises at least one of a logical formula or a mathematical formula.

Citation Information

Patent Citations

  • Process generation support device and method, and program and storage medium

    JP2006107141A

  • Image forming apparatus and method therefor

    JP2011242984A

  • Color verification device, color verification method and program

    JP2021019258A

  • Custom validation of values for fields of submitted forms

    US20150089345A1

  • Powered sofa convertible into bunk bed

    US20180070733A1