Previous studies have shown impressive control performance in complex robotic systems by using neural networks and model-free reinforcement learning. However, these controllers with natural motion and high task performance require extensive reward engineering, which is a time-consuming process. In this study, we propose a new reinforcement learning framework that incorporates both rewards and constraints in training neural network controllers for complex robotic systems. This framework allows engineers to reflect their intent to constraints and handle them efficiently. We apply this framework to train locomotion controllers for various legged robots, and our experiments show that we can achieve performant controllers with significantly less reward engineering. Additionally, the engineering process becomes more straightforward and intuitive with the interpretability and generalizability of constraints. A summary video of our work can be found at https://youtu.be/KAlm3yskhvM.