All 3 are usually involved in the verification process if you follow a typical flow.
The model defines validation attributes, such as required attributes or stringlength attributes. The controller checks the validation status of the model using ModelState.IsValid and makes appropriate decisions. A view may optionally provide client-side validation for the same attributes. Do not rely solely on js to validate your form.
source share