DataTable Change column to Required

I have a datatable that has 4 columns. Column 2 is a dropdown...and when "Other" is selected I need to allow the third column to be editable and required.

I have the below code that is only partially working. It will allow for the third column to turn editable but it allows it to be submitted with nothing in the column.

fd.control('ViolationTable').addColumnValidator('Violation', {
                error: 'Message',
                validate: function (value) {
                    if (value == 'Other (Type in next field)') {
                        fd.control('ViolationTable').columns[2].editable = function () {
                            return true
                        };
                        fd.control('ViolationTable').columns[2].required = function () {
                            return true
                        };
                        return true;
                        fd.control('ViolationTable').addColumnValidator('Other', {
                            error: 'Message',
                            validate: function (value) {
                                if (value.length < 1) {
                                    return false;
                                }
                            }
                        });
                    }
                    fd.control('ViolationTable').columns[2].editable = function () {
                        return false
                    };
                    fd.control('ViolationTable').columns[2].required = function () {
                        return false
                    };
                    return true;
                }
            });

Dear @IT.Joe,
You might need to just have an extra validator for the whole Data Table, something like this:

//make at least one record required
fd.rendered(function(){
    fd.control('Control1').addValidator({
        name: 'Control1 validator',
        error: 'Enter at least one record into the table',
        validate: function(value) {
            for(var i = 0; i < value.length; i++){
              if(!value[i].Column2){
                return false;
              }
            }

            return true;
        }
    });
});

It turned out I had the Validator for the "Other" column in the wrong spot. The code below worked for me but there is 1 scenario I can't get figured out.

  1. User selects "Other" which makes the column[2] writable and required.

  2. The user changes their mind and makes a different selection. This makes column[2] read only and not required.

  3. I can't get this column to clear what they typed in there when "Other" was selected. screenshot below the code.

     fd.control('ViolationTable').addColumnValidator('Violation', {
            error: 'Message',
            validate: function (value) {
                if (value == 'Other (Type in next field)') {
                    fd.control('ViolationTable').columns[2].editable = function () {
                        return true
                    };
                    fd.control('ViolationTable').columns[2].required = function () {
                        return true
                    };
                      fd.control('ViolationTable').addColumnValidator('Other', {
                        error: 'Please Type in Violation Type (Min 3 characters)',
                        validate: function(value){
                        for(var i = 2; i < value.length; i++){
                        if(!value[i].Other){
                        return true;
                                        }
                                        }
                        return false;
                        }});
                       return true;
                  
                }
                fd.control('ViolationTable').columns[2].editable = function () {
                    return false
                };
                fd.control('ViolationTable').columns[2].required = function () {
                    return false
                };
                return true;
            }
        });
    

As you can see Violation Type is not "Other" anymore so I'd like to clear out the value in the "Other (If selected) column.

Dear @IT.Joe,
Here you can find code sample on how to set field value based on other fields - DataTable — Public web forms