Test your knowledge of this chapter by answering the following questions:
- What are the three building blocks of reactive forms?
- What are the different methods and properties of AbstractControl?
- What is the difference between pristine and touched? What are the opposites of them?
- What are the two different methods we can use to set values? What are the differences between them?
- What does the hasError method do and how can we use it?
- What is FormBuilder? How can we use it?
- How do you add validations to reactive forms?
- How do you create a custom validator in Angular?
- How do you add synchronous and asynchronous validations?
- How can you optimize your JavaScript bundle?