コード例 #1
0
        /// <summary>
        ///   <para>
        ///     Validate the display the value of the field contained within DataBinding</para>
        /// </summary>
        /// <returns>
        ///     <para>The data validation result.</para>
        /// </returns>
        public DataValidation.Result validField(Boolean newRecord, DataBinding dataBinding, DataRow dataRow)
        {
            DataValidation.Result dataValidationResult = null;

            /*switch ((Net7_db.Table_item_device)dataBinding.enumeration)
             * {
             * }*/
            return(dataValidationResult);
        }
コード例 #2
0
        public DataValidation.Result recordValid()
        {
            Boolean newRecord = m_state.Equals(State.Add);

            DataValidation.Result dataValidationResult = new DataValidation.Result();
            String value;

            foreach (DataBinding dataBinding in listDataBinding)
            {
                dataValidationResult = null;
                // Process the list of validations
                foreach (DataValidation dataValidation in dataBinding.m_listDataValidation)
                {
                    if (dataBinding.control.GetType() == typeof(ComboBox))
                    {
                        ComboBox  comboBox  = (ComboBox)dataBinding.control;
                        CodeValue codeValue = (CodeValue)comboBox.SelectedItem;
                        if (codeValue == null)
                        {
                            value = null;
                        }
                        else
                        {
                            value = codeValue.code.ToString();
                        }
                    }
                    else
                    {
                        value = dataBinding.control.Text;
                    }

                    dataValidationResult = dataValidation.validate(value);
                    if (dataValidationResult != null && !dataValidationResult.isValid())
                    {
                        break;
                    }
                }

                if ((dataValidationResult == null || dataValidationResult.isValid()) &&
                    dataBinding.enumeration != null)
                {
                    // Process any special validations specified within the record manager.
                    dataValidationResult = m_recordManager.validField(newRecord, dataBinding, m_dataRow);
                }

                if (dataValidationResult != null && !dataValidationResult.isValid())
                {
                    dataValidationResult.setControlName(dataBinding.controlName);
                    setFocusOnError(dataBinding.control);
                    break;
                }
            }
            return(dataValidationResult);
        }
コード例 #3
0
        public static Result isInteger(String value)
        {
            Int32 number;

            DataValidation.Result result = isNonEmpty(value);
            if (result.isValid() &&
                !Int32.TryParse(value, out number))
            {
                result.setMessage("The value '" + value + "' is not an integer");
            }
            return(result);
        }
コード例 #4
0
        public static Result isNumeric(String value)
        {
            Decimal number;

            DataValidation.Result result = isNonEmpty(value);
            if (result.isValid() &&
                !Decimal.TryParse(value, out number))
            {
                result.setMessage("The value '" + value + "' is not a number");
            }
            return(result);
        }
コード例 #5
0
        public static Result isNumericLesserEqual(String value, Decimal maximum)
        {
            Decimal number = 0;

            DataValidation.Result result = isNumeric(value);
            if (result.isValid())
            {
                Decimal.TryParse(value, out number);
                if (number > maximum)
                {
                    result.setMessage("The value is not lesser or equal to the maximum of " + maximum.ToString());
                }
            }
            return(result);
        }
コード例 #6
0
        public static Result isNumericGreater(String value, Decimal minimum)
        {
            Decimal number = 0;

            DataValidation.Result result = isNumeric(value);
            if (result.isValid())
            {
                Decimal.TryParse(value, out number);
                if (number <= minimum)
                {
                    result.setMessage("The value is not greater than the minimum of " + minimum.ToString());
                }
            }
            return(result);
        }
コード例 #7
0
        public static Result isNumericOutsideRange(String value, Decimal lowerBound, Decimal upperBound)
        {
            Decimal number = 0;

            DataValidation.Result result = isNumeric(value);
            if (result.isValid())
            {
                Decimal.TryParse(value, out number);
                if (number >= lowerBound && number <= upperBound)
                {
                    result.setMessage("The value '" + value + "' is within the bounds of " + lowerBound.ToString() + " and " + upperBound.ToString());
                }
            }
            return(result);
        }
コード例 #8
0
        public static Result isNumericDifferent(String value, Decimal targetValue)
        {
            Decimal number = 0;

            DataValidation.Result result = isNumeric(value);
            if (result.isValid())
            {
                Decimal.TryParse(value, out number);
                if (number == targetValue)
                {
                    result.setMessage("The value is equal to " + targetValue.ToString());
                }
            }
            return(result);
        }
コード例 #9
0
        public static Result isNumericInsideRange(String value, Decimal minimum, Decimal maximum)
        {
            Decimal number = 0;

            DataValidation.Result result = isNumeric(value);
            if (result.isValid())
            {
                Decimal.TryParse(value, out number);
                if (number < minimum)
                {
                    result.setMessage("The value '" + value + "' is lesser than the minimum of " + minimum.ToString());
                }
                else if (number > maximum)
                {
                    result.setMessage("The value '" + value + "' is lesser than the minimum of " + minimum.ToString());
                }
            }
            return(result);
        }
コード例 #10
0
        public DataValidation.Result validField(Boolean newRecord, DataBinding dataBinding, DataRow dataRow)
        {
            DataValidation.Result dataValidationResult = null;
            switch ((Net7.Table_item_base)dataBinding.enumeration)
            {
            case Net7.Table_item_base._id:
            {
                if (newRecord)
                {
                    dataBinding.control.Text = Database.getNextItemId();
                }
            }
            break;

            case Net7.Table_item_base._category:
            {
                ComboBox  comboBox  = (ComboBox)dataBinding.control;
                CodeValue codeValue = (CodeValue)comboBox.SelectedItem;
                //dataValidationResult = DataValidation.isNumericGreaterEqual(codeValue.code.ToString(), 1);
                dataValidationResult = DataValidation.isNonEmpty(codeValue);
                if (dataValidationResult.isValid() &&
                    !Enum.IsDefined(typeof(Items.ItemCategory), codeValue.code))
                {
                    dataValidationResult = new DataValidation.Result("The category '" + codeValue.code + "' is invalid");
                }
                // TODO: Validate through the item_category table

                /*
                 * dataValidationResult = DataValidation.isInTable(codeValue.code.ToString(),
                 *                                              Net7_db.Tables.item_category.ToString(),
                 *                                              DB.getQueryItemCategory());*/
            }
            break;

            case Net7.Table_item_base._sub_category:
            {
                ComboBox  comboBox  = (ComboBox)dataBinding.control;
                CodeValue codeValue = (CodeValue)comboBox.SelectedItem;
                // TODO: codeValue can be null even though there is something displayed on the screen
                //dataValidationResult = DataValidation.isNumericGreaterEqual(codeValue.code.ToString(), 1);
                dataValidationResult = DataValidation.isNonEmpty(codeValue);
                if (dataValidationResult.isValid() &&
                    !Enum.IsDefined(typeof(Items.ItemSubCategory), codeValue.code))
                {
                    dataValidationResult = new DataValidation.Result("The sub-category '" + codeValue.code + "' is invalid");
                }
                // TODO: Validate through the item_sub_category table

                /*
                 * dataValidationResult = DataValidation.isInTable(codeValue.code.ToString(),
                 *                                              Net7_db.Tables.item_sub_category.ToString(),
                 *                                              DB.getQueryItemSubCategory());*/
                /*
                 * if(dataValidationResult.isValid())
                 * {
                 *  String query = "SELECT item_id"
                 + " FROM " + Net7_db.Tables.item_subcategory.ToString()
                 + " WHERE " + ColumnData.GetName(Net7_db.item_subcategory._item_id)
                 + " = '" + codeValue.code.ToString() + "'";
                 +  dataValidationResult = DataValidation.isIdInTable(codeValue.code.ToString(),
                 +                                                    Net7_db.Tables.item_subcategory.ToString(),
                 +                                                    query);
                 + }
                 */
            }
            break;

            case Net7.Table_item_base._manufacturer:
            {
                ComboBox  comboBox  = (ComboBox)dataBinding.control;
                CodeValue codeValue = (CodeValue)comboBox.SelectedItem;
                dataValidationResult = DataValidation.isNumeric(codeValue.code.ToString());
                if (dataValidationResult.isValid())
                {
                    String query = "SELECT " + ColumnData.GetName(Net7.Table_item_manufacturer_base._id)
                                   + " FROM " + Net7.Tables.item_manufacturer_base.ToString()
                                   + " WHERE " + ColumnData.GetName(Net7.Table_item_manufacturer_base._id)
                                   + " = '" + codeValue.code.ToString() + "'";
                    dataValidationResult = DataValidation.isInTable(codeValue.code.ToString(),
                                                                    "Manufacturers",
                                                                    query);
                }
            }
            break;

            case Net7.Table_item_base._name:
                dataValidationResult = DataValidation.isNonEmpty(dataBinding.control.Text);
                if (dataValidationResult.isValid())
                {
                    String columnName   = ColumnData.GetName(Net7.Table_item_base._name);
                    String currentValue = newRecord ? "" : dataRow[columnName].ToString();
                    String newValue     = dataBinding.control.Text;
                    if (currentValue.ToLower().CompareTo(newValue.ToLower()) != 0 &&     // It's not a simple rename
                        !currentValue.Equals(newValue))
                    {
                        String query = "SELECT " + columnName
                                       + " FROM " + Net7.Tables.item_base.ToString()
                                       + " WHERE " + columnName
                                       + " = '" + dataBinding.control.Text.Replace("'", "''") + "'";
                        dataValidationResult = DataValidation.isNotInTable(dataBinding.control.Text,
                                                                           "Items",
                                                                           query);
                    }
                }
                break;

            case Net7.Table_item_base._item_base_id:
            {
                TextBox baseItemId = (TextBox)dataBinding.control;
                if (baseItemId.Enabled)
                {
                    String columnName = ColumnData.GetName(Net7.Table_item_base._id);
                    String query      = "SELECT " + columnName
                                        + " FROM " + Net7.Tables.item_base.ToString()
                                        + " WHERE " + columnName
                                        + " = '" + dataBinding.control.Text + "'";
                    dataValidationResult = DataValidation.isInTable(dataBinding.control.Text,
                                                                    "Items",
                                                                    query);
                }
            }
            break;

            case Net7.Table_item_base._effect_id:
            {
                TextBox equipVisualEffectId = (TextBox)dataBinding.control;
                if (equipVisualEffectId.Enabled)
                {
                    String columnName = ColumnData.GetName(Net7.Table_effects._effect_id);
                    String query      = "SELECT " + columnName
                                        + " FROM " + Net7.Tables.effects
                                        + " WHERE " + columnName
                                        + " = '" + dataBinding.control.Text + "'";
                    dataValidationResult = DataValidation.isInTable(dataBinding.control.Text,
                                                                    "Effects",
                                                                    query);
                }
            }
            break;
            }
            return(dataValidationResult);
        }
コード例 #11
0
 /// <summary>
 ///   <para>
 ///     Validate the display the value of the field contained within DataBinding</para>
 /// </summary>
 /// <returns>
 ///     <para>The data validation result.</para>
 /// </returns>
 public DataValidation.Result validField(Boolean newRecord, DataBinding dataBinding, DataRow dataRow)
 {
     DataValidation.Result dataValidationResult = null;
     switch ((Net7.Table_item_manufacture)dataBinding.enumeration)
     {
         case Net7.Table_item_manufacture._item_id:
             {
                 if (newRecord)
                 {
                     // Store the item ID
                     String itemIdColumnName = ColumnData.GetName(Net7.Table_item_base._id);
                     String itemId = dataRow[itemIdColumnName].ToString();
                     String manufacturingIdColumnName = ColumnData.GetName(Net7.Table_item_manufacture._item_id);
                     dataRow[manufacturingIdColumnName] = itemId;
                 }
             }
             break;
         case Net7.Table_item_manufacture._comp_1:
         case Net7.Table_item_manufacture._comp_2:
         case Net7.Table_item_manufacture._comp_3:
         case Net7.Table_item_manufacture._comp_4:
         case Net7.Table_item_manufacture._comp_5:
         case Net7.Table_item_manufacture._comp_6:
             {
                 int componentIndex = getComponentIndexFromEnum((Net7.Table_item_manufacture)dataBinding.enumeration);
                 String componentId = m_listComponentFields[componentIndex].getFields().m_field.Text;
                 if (componentIndex == 0)
                 {
                     dataValidationResult = componentId.Equals(UnspecifiedComponentId)
                                            ? null
                                            : DataValidation.isInTable(componentId,
                                                                       Net7.Tables.item_manufacture.ToString(),
                                                                       Database.getQueryItem(componentId));
                 }
                 else if (componentIndex > 0)
                 {
                     // Valid to be unspecified otherwise must be in the item table
                     dataValidationResult = componentId.Equals(UnspecifiedComponentId)
                                            ? null
                                            : DataValidation.isInTable(componentId,
                                                                       "Items",
                                                                       Database.getQueryItem(componentId));
                     if (dataValidationResult == null || dataValidationResult.isValid())
                     {
                         // Previous component must be specified
                         String previousComponentId = m_listComponentFields[componentIndex - 1].getFields().m_field.Text;
                         if (!componentId.Equals(UnspecifiedComponentId) && previousComponentId.Equals(UnspecifiedComponentId))
                         {
                             if (dataValidationResult == null)
                             {
                                 dataValidationResult = new DataValidation.Result();
                             }
                             dataValidationResult.setMessage("You must define the previous component before specifying this one");
                         }
                     }
                 }
             }
             break;
     }
     return dataValidationResult;
 }
コード例 #12
0
        public void saveRecord()
        {
            DataValidation.Result dataValidationResult = new DataValidation.Result();

            // 1. Validate the data
            foreach (TableHandler tableHandler in listTableHandler)
            {
                if (!tableHandler.getTableIO().isRecordOptional())
                {
                    dataValidationResult = tableHandler.getTableIO().recordValid();
                    if (dataValidationResult != null
                        && !dataValidationResult.isValid())
                    {
                        dataValidationResult.showMessage();
                        break;
                    }
                }
            }

            if (dataValidationResult == null || dataValidationResult.isValid())
            {
                // 2. Retrieve the id from the primary table
                String primaryId = null;
                if (listTableHandler.Count != 0)
                {
                    TableHandler primaryTableHandler = listTableHandler[0];
                    if (true /*|| primaryTableHandler.getTableIO().getState().Equals(TableIO.State.Add)*/ )
                    {
                        Control idControl = primaryTableHandler.getTableIO().findControl(Net7.Table_item_base._id);
                        if (idControl != null)
                        {
                            primaryId = idControl.Text;
                        }
                    }
                }
                else
                {
                    // Data is invalid, issue a halt to this process
                }

                // 3. Save each table
                // TODO: This generates multiple calls to TableIO.enableFiels()
                foreach (TableHandler tableHandler in listTableHandler)
                {
                    if (!tableHandler.getTableIO().isRecordOptional())
                    {
                        if (!tableHandler.getTableIO().recordSave(primaryId))
                        {
                            return;
                        }
                    }
                }

                // 4. Set the proper state
                foreach (TableHandler tableHandler in listTableHandler)
                {
                    tableHandler.getTableIO().setState(TableIO.State.View);
                }
            }
        }
コード例 #13
0
 /// <summary>
 ///   <para>
 ///     Validate the display the value of the field contained within DataBinding</para>
 /// </summary>
 /// <returns>
 ///     <para>The data validation result.</para>
 /// </returns>
 public DataValidation.Result validField(Boolean newRecord, DataBinding dataBinding, DataRow dataRow)
 {
     DataValidation.Result dataValidationResult = null;
     return(dataValidationResult);
 }
コード例 #14
0
        public DataValidation.Result recordValid()
        {
            Boolean newRecord = m_state.Equals(State.Add);
            DataValidation.Result dataValidationResult = new DataValidation.Result();
            String value;
            foreach (DataBinding dataBinding in listDataBinding)
            {
                dataValidationResult = null;
                // Process the list of validations
                foreach (DataValidation dataValidation in dataBinding.m_listDataValidation)
                {
                    if (dataBinding.control.GetType() == typeof(ComboBox))
                    {
                        ComboBox comboBox = (ComboBox)dataBinding.control;
                        CodeValue codeValue = (CodeValue)comboBox.SelectedItem;
                        if (codeValue == null)
                        {
                            value = null;
                        }
                        else
                        {
                            value = codeValue.code.ToString();
                        }
                    }
                    else
                    {
                        value = dataBinding.control.Text;
                    }

                    dataValidationResult = dataValidation.validate(value);
                    if (dataValidationResult != null && !dataValidationResult.isValid())
                    {
                        break;
                    }
                }

                if ((dataValidationResult == null || dataValidationResult.isValid())
                    && dataBinding.enumeration != null)
                {
                    // Process any special validations specified within the record manager.
                    dataValidationResult = m_recordManager.validField(newRecord, dataBinding, m_dataRow);
                }

                if (dataValidationResult != null && !dataValidationResult.isValid())
                {
                    dataValidationResult.setControlName(dataBinding.controlName);
                    setFocusOnError(dataBinding.control);
                    break;
                }
            }
            return dataValidationResult;
        }
コード例 #15
0
        public DataValidation.Result validField(Boolean newRecord, DataBinding dataBinding, DataRow dataRow)
        {
            DataValidation.Result dataValidationResult = null;
            switch ((Net7.Table_item_base)dataBinding.enumeration)
            {
                case Net7.Table_item_base._id:
                    {
                        if (newRecord)
                        {
                            dataBinding.control.Text = Database.getNextItemId();
                        }
                    }
                    break;

                case Net7.Table_item_base._category:
                    {
                        ComboBox comboBox = (ComboBox)dataBinding.control;
                        CodeValue codeValue = (CodeValue)comboBox.SelectedItem;
                        //dataValidationResult = DataValidation.isNumericGreaterEqual(codeValue.code.ToString(), 1);
                        dataValidationResult = DataValidation.isNonEmpty(codeValue);
                        if (dataValidationResult.isValid()
                            && !Enum.IsDefined(typeof(Items.ItemCategory), codeValue.code))
                        {
                            dataValidationResult = new DataValidation.Result("The category '" + codeValue.code + "' is invalid");
                        }
                        // TODO: Validate through the item_category table
                        /*
                        dataValidationResult = DataValidation.isInTable(codeValue.code.ToString(),
                                                                        Net7_db.Tables.item_category.ToString(),
                                                                        DB.getQueryItemCategory());*/
                    }
                    break;

                case Net7.Table_item_base._sub_category:
                    {
                        ComboBox comboBox = (ComboBox)dataBinding.control;
                        CodeValue codeValue = (CodeValue)comboBox.SelectedItem;
                        // TODO: codeValue can be null even though there is something displayed on the screen
                        //dataValidationResult = DataValidation.isNumericGreaterEqual(codeValue.code.ToString(), 1);
                        dataValidationResult = DataValidation.isNonEmpty(codeValue);
                        if (dataValidationResult.isValid()
                            && !Enum.IsDefined(typeof(Items.ItemSubCategory), codeValue.code))
                        {
                            dataValidationResult = new DataValidation.Result("The sub-category '" + codeValue.code + "' is invalid");
                        }
                        // TODO: Validate through the item_sub_category table
                        /*
                        dataValidationResult = DataValidation.isInTable(codeValue.code.ToString(),
                                                                        Net7_db.Tables.item_sub_category.ToString(),
                                                                        DB.getQueryItemSubCategory());*/
                        /*
                        if(dataValidationResult.isValid())
                        {
                            String query = "SELECT item_id"
                                         + " FROM " + Net7_db.Tables.item_subcategory.ToString()
                                         + " WHERE " + ColumnData.GetName(Net7_db.item_subcategory._item_id)
                                         + " = '" + codeValue.code.ToString() + "'";
                            dataValidationResult = DataValidation.isIdInTable(codeValue.code.ToString(),
                                                                              Net7_db.Tables.item_subcategory.ToString(),
                                                                              query);
                        }
                        */
                    }
                    break;

                case Net7.Table_item_base._manufacturer:
                    {
                        ComboBox comboBox = (ComboBox)dataBinding.control;
                        CodeValue codeValue = (CodeValue)comboBox.SelectedItem;
                        dataValidationResult = DataValidation.isNumeric(codeValue.code.ToString());
                        if(dataValidationResult.isValid())
                        {
                            String query = "SELECT " + ColumnData.GetName(Net7.Table_item_manufacturer_base._id)
                                         + " FROM " + Net7.Tables.item_manufacturer_base.ToString()
                                         + " WHERE " + ColumnData.GetName(Net7.Table_item_manufacturer_base._id)
                                         + " = '" + codeValue.code.ToString() + "'";
                            dataValidationResult = DataValidation.isInTable(codeValue.code.ToString(),
                                                                            "Manufacturers",
                                                                            query);
                        }
                    }
                    break;

                case Net7.Table_item_base._name:
                    dataValidationResult = DataValidation.isNonEmpty(dataBinding.control.Text);
                    if (dataValidationResult.isValid())
                    {
                        String columnName = ColumnData.GetName(Net7.Table_item_base._name);
                        String currentValue = newRecord ? "" : dataRow[columnName].ToString();
                        String newValue = dataBinding.control.Text;
                        if(    currentValue.ToLower().CompareTo(newValue.ToLower()) != 0 // It's not a simple rename
                            && !currentValue.Equals(newValue))
                        {
                            String query = "SELECT " + columnName
                                         + " FROM " + Net7.Tables.item_base.ToString()
                                         + " WHERE " + columnName
                                         + " = '" + dataBinding.control.Text.Replace("'", "''") + "'";
                            dataValidationResult = DataValidation.isNotInTable(dataBinding.control.Text,
                                                                               "Items",
                                                                                query);
                        }
                    }
                    break;

                case Net7.Table_item_base._item_base_id:
                {
                    TextBox baseItemId = (TextBox)dataBinding.control;
                    if (baseItemId.Enabled)
                    {
                        String columnName = ColumnData.GetName(Net7.Table_item_base._id);
                        String query = "SELECT " + columnName
                                     + " FROM " + Net7.Tables.item_base.ToString()
                                     + " WHERE " + columnName
                                     + " = '" + dataBinding.control.Text + "'";
                        dataValidationResult = DataValidation.isInTable(dataBinding.control.Text,
                                                                        "Items",
                                                                        query);
                    }
                }
                break;

                case Net7.Table_item_base._effect_id:
                {
                    TextBox equipVisualEffectId = (TextBox)dataBinding.control;
                    if (equipVisualEffectId.Enabled)
                    {
                        String columnName = ColumnData.GetName(Net7.Table_effects._effect_id);
                        String query = "SELECT " + columnName
                                     + " FROM " + Net7.Tables.effects
                                     + " WHERE " + columnName
                                     + " = '" + dataBinding.control.Text + "'";
                        dataValidationResult = DataValidation.isInTable(dataBinding.control.Text,
                                                                        "Effects",
                                                                        query);
                    }
                }
                break;

            }
            return dataValidationResult;
        }
コード例 #16
0
        /// <summary>
        ///   <para>
        ///     Validate the display the value of the field contained within DataBinding</para>
        /// </summary>
        /// <returns>
        ///     <para>The data validation result.</para>
        /// </returns>
        public DataValidation.Result validField(Boolean newRecord, DataBinding dataBinding, DataRow dataRow)
        {
            DataValidation.Result dataValidationResult = null;
            switch ((Net7.Table_item_manufacture)dataBinding.enumeration)
            {
            case Net7.Table_item_manufacture._item_id:
            {
                if (newRecord)
                {
                    // Store the item ID
                    String itemIdColumnName          = ColumnData.GetName(Net7.Table_item_base._id);
                    String itemId                    = dataRow[itemIdColumnName].ToString();
                    String manufacturingIdColumnName = ColumnData.GetName(Net7.Table_item_manufacture._item_id);
                    dataRow[manufacturingIdColumnName] = itemId;
                }
            }
            break;

            case Net7.Table_item_manufacture._comp_1:
            case Net7.Table_item_manufacture._comp_2:
            case Net7.Table_item_manufacture._comp_3:
            case Net7.Table_item_manufacture._comp_4:
            case Net7.Table_item_manufacture._comp_5:
            case Net7.Table_item_manufacture._comp_6:
            {
                int    componentIndex = getComponentIndexFromEnum((Net7.Table_item_manufacture)dataBinding.enumeration);
                String componentId    = m_listComponentFields[componentIndex].getFields().m_field.Text;
                if (componentIndex == 0)
                {
                    dataValidationResult = componentId.Equals(UnspecifiedComponentId)
                                                   ? null
                                                   : DataValidation.isInTable(componentId,
                                                                              Net7.Tables.item_manufacture.ToString(),
                                                                              Database.getQueryItem(componentId));
                }
                else if (componentIndex > 0)
                {
                    // Valid to be unspecified otherwise must be in the item table
                    dataValidationResult = componentId.Equals(UnspecifiedComponentId)
                                                   ? null
                                                   : DataValidation.isInTable(componentId,
                                                                              "Items",
                                                                              Database.getQueryItem(componentId));
                    if (dataValidationResult == null || dataValidationResult.isValid())
                    {
                        // Previous component must be specified
                        String previousComponentId = m_listComponentFields[componentIndex - 1].getFields().m_field.Text;
                        if (!componentId.Equals(UnspecifiedComponentId) && previousComponentId.Equals(UnspecifiedComponentId))
                        {
                            if (dataValidationResult == null)
                            {
                                dataValidationResult = new DataValidation.Result();
                            }
                            dataValidationResult.setMessage("You must define the previous component before specifying this one");
                        }
                    }
                }
            }
            break;
            }
            return(dataValidationResult);
        }