I don't think it is necessary for this divide with Settings and SettingStore, and it is worth the time exploring and refactoring that logic into one model that has the right interface for the UI and the app, at large, and at the same time translate settings into the key value pair in the db. This will also bring the validations together in one model. The dependencies should be enforced consistently in the system at large. In fact it will introduce some confusion if settings that are valid in one page, comes up as invalid for another.
I don't think it is necessary for this divide with Settings and SettingStore, and it is worth the time exploring and refactoring that logic into one model that has the right interface for the UI and the app, at large, and at the same time translate settings into the key value pair in the db. This will also bring the validations together in one model. The dependencies should be enforced consistently in the system at large. In fact it will introduce some confusion if settings that are valid in one page, comes up as invalid for another.