/**
  * Validates the supplied data against the options rules
  *
  * @param array		$data
  * @param array		$rules
  * @param array		$messages
  *
  * @param mixed
  */
 public function validateData(array $data, array $rules, array $messages)
 {
     if ($rules) {
         $this->customValidator->setData($data);
         $this->customValidator->setRules($rules);
         $this->customValidator->setCustomMessages($messages);
         //if the validator fails, kick back the errors
         if ($this->customValidator->fails()) {
             return implode('. ', $this->customValidator->messages()->all());
         }
     }
     return true;
 }
 /**
  * Set the validation rules.
  *
  * @param  array  $rules
  * @return \Illuminate\Validation\Validator
  */
 public function setRules(array $rules)
 {
     return $this->validator->setRules($rules);
 }
 /**
  * Sets data for validate remote rules.
  *
  * @param $attribute
  *
  * @return \Illuminate\Validation\Validator
  */
 protected function setRemoteValidation($attribute, BaseValidator $validator)
 {
     $rules = $validator->getRules();
     $rules = isset($rules[$attribute]) ? $rules[$attribute] : [];
     if (in_array('no_js_validation', $rules)) {
         $validator->setRules([$attribute => []]);
         return $validator;
     }
     $rules = $this->purgeNonRemoteRules($rules, $validator);
     $validator->setRules([$attribute => $rules]);
     return $validator;
 }