use Cake\Controller\Controller;
use Cake\Event\Event;
-use Cake\Validation\Validator;
-use Cake\Core\Exception\Exception;
-use \Cake\Network\Exception\BadRequestException;
+
/**
* Application Controller
*
*/
class AppController extends Controller
{
+ const MINLENGTHNAMEPARAMETER = 3;
/**
* Contien des erreurs
* @var boolean
public $validator;
public $errors ;
-
+
/**
parent::initialize();
$this->loadComponent('RequestHandler');
-
-
- if ( empty($this->request->action) || $this->request->action=="index"){
- $this->errors = ["_params"=> [
- "_action"=> __("Validation failed : action parameter can not be empty.")
- ]
- ];
-
- }else {
- //Rules management for request parameters.
- $this->validator = new Validator();
- $this->validator
-
- // Rules for the name parameter.
- ->requirePresence('name')
- ->notEmpty( 'name', __("Validation failed : No keyword specified. Please provide at least one keyword in your request."))
- ->add( 'name', [
- 'length' => [
- 'rule' => ['minLength', 2],
- 'message' => 'Validation failed : name parameter need to be at least 2 characters long.',
- ]
- ])
- ->add( 'name', 'alphaNumeric', ['rule' => ['custom','/^[a-z0-9 éèàêïîôûü-]*$/i'], 'message' => 'Validation failed : name must be an alphaNumeric value.'])
-
-
- //Rules for the order parameter.
- ->add( 'order', [
- 'regex' => [
- 'rule' => ['custom', '(\basc\b|\bdesc\b)'], // Specify the regex for the order parameter. Only asc or desc accepted
- 'message' => 'Validation failed : order parameter need to be asc or desc.',
- ]
- ])
- ->notEmpty('order',__("Validation failed : order parameter can not be empty when you specified it."))
-
- //Rules for the limit parameter
- ->notEmpty('limit',__("Validation failed : limit parameter can not be empty when you specified it."))
- ->add( 'limit', 'numeric', ['rule' => 'numeric', 'message' => 'Validation failed : name must be a numeric value.']);
-
- $this->errors = $this->validator->errors($this->request->query);
- }
+
}
-
/**
* Before render callback.
*
$this->set('_serialize', true);
-
}
/**