highly modularized the code

the code is changed to
- become more modular, added functions to each type of validation
- consistently updated ValidationOption in control data
- consistently updated ValidationResult in control data
- violation notification is added as pop-up near control