重构Valid