Validation is a process of analyzing the exactness of data. It assures that the data entered is according to our requirement or not.
CakePHP has it's own inbuilt validation rules. In CakePHP validation rule is locate in the Model file of that particular module.
Syntax:
class User extends AppModel {
public $validate = array();
}
In the example below we will use user model for the validation:
class User extends AppModel {
public $validate = array(
'login' => 'alphaNumeric',
'email' => 'email',
);
}
There are two ways to implement custom validation:-
- By Using Custom Regular Expression
- By Creating Custom Validation Methods.
1. By using Custom Regular Expression:- In this regular expressions are used to validate the date.
Example to validate user name-
'username' => array(
'rule' => array(
'rule' => '/^[a-z0-9]{3,}$/i',
'message' => 'letters and integers allowed of minimum 3..!',
),
)
2. By creating Custom Validation Methods:- In this we can define validation according to our need.
Example to check the uniqueness of email-
class User extends AppModel {
public $validate = array(
'username' => array(
'unique' => array(
'rule' => array('isUnique'),
'message' => 'This username is already in use, pl provide another username'
),
)
);
function isUnique($check) {
// First it will fetch the username from database and it will check for its uniqueness.
$username = $this->find('first',array(
'fields' => array(
'User.id',
'User.username'
),
'conditions' => array(
'User.username' => $check['username']
)
)
);
1 Comment(s)