If you only need to perform one type of validation (e.g.validating email addresses), you may call the validate() method of the desired validator, like the following: After validation, you can check if the validation succeeded or not by calling the has Errors() method, and then get the validation errors from the errors property, like you do with a normal model.

This is because the same validator will run for each attribute (3 times in total) and we only need to run it once for the whole attribute set.

You can use any of these attributes instead (or use what you think is the most relevant): Client-side validation based on Java Script is desirable when end users provide inputs via HTML forms, because it allows users to find out input errors faster and thus provides a better user experience.

If not, you may get the error messages from the yii\base\Model::$errors property.

For example, really work, you should declare validation rules for the attributes you plan to validate.

the validation of one attribute depends on the value of another attribute you can use the when property to define such conditions. The following examples shows how to trim the spaces in the inputs and turn empty inputs into nulls by using the trim and default core validators: You may also use the more general filter validator to perform more complex data filtering.

For example, If you also need to support client-side conditional validation, you should configure the when Client property which takes a string representing a Java Script function whose return value determines whether to apply the rule or not. As you can see, these validation rules do not really validate the inputs.

If you want to make sure a rule is always applied, you may configure the skip On Empty and/or skip On Error properties to be A standalone validator is a class extending yii\validators\Validator or its child class.

You may implement its validation logic by overriding the yii\validators\Validator::validate Attribute() method.

You may configure these error messages like configuring other properties of validators in a validation rule.

When yii\base\Model::validate() is called, it will call two methods that you may override to customize the validation process: To validate attributes only when certain conditions apply, e.g.

You may create inline validators or standalone validators.