Example #1
0
 /**
  * @return Validator
  */
 public function getValidator()
 {
     $validator = new Validator();
     $validator->addRule('name', 'text', true, 'Name is invalid');
     $validator->addRule('url', 'url', true, 'Url is required but invalid');
     return $validator;
 }
Example #2
0
 /**
  * @return Validator
  */
 public function getValidator()
 {
     $validator = new Validator();
     $validator->addRule('given', 'text', true, 'Given name is required but invalid');
     $validator->addRule('family', 'text', true, 'Family name is required but invalid');
     $validator->addRule('website', 'url', false, 'Website URL is invalid');
     $validator->addRule('contact', 'text', false, 'Contact info is invalid');
     $validator->addRule('about', 'text', false, 'About text is invalid');
     return $validator;
 }
Example #3
0
 /**
  * @return Validator
  */
 public function getValidator()
 {
     $validator = new Validator();
     $validator->addRule('name', 'text', false, 'File name is invalid');
     $validator->addRule('title', 'text', true, 'File title is required but invalid');
     $validator->addRule('full_text', 'boolean', false, 'Full text flag must be boolean');
     $validator->addRule('restricted', 'boolean', false, 'Restricted flag must be boolean');
     $validator->addRule('hidden', 'boolean', false, 'Hidden flag must be boolean');
     return $validator;
 }
Example #4
0
 /** @noinspection PhpUnusedPrivateMethodInspection
  * @param Request $request
  *
  * @return bool|mixed
  * @throws PermissionRequiredException
  * @throws exceptions\LoginRequiredException
  */
 private function addCitation(Request $request)
 {
     if (!$this->auth->checkPermission(Auth::EDIT_PUBLICATION)) {
         throw new PermissionRequiredException(Auth::EDIT_PUBLICATION);
     }
     // Here I did not used a CitationModel validator, since this would
     // require publication_id to be present
     $id = Validator::sanitizeNumber($request->get('id'));
     if (!$id) {
         throw new UnexpectedValueException();
     }
     $validator = new Validator($this->db);
     $validator->addRule('citation_id', 'number', true, 'Citation is required but invalid');
     if ($validator->validate($request->post())) {
         $data = $validator->getSanitizedResult();
         try {
             $this->model->addCitation($id, $data['citation_id']);
             return true;
         } catch (DBDuplicateEntryException $e) {
             $this->errors[] = 'This citation is already assigned to this publication';
             return false;
         }
     } else {
         $this->errors = array_merge($this->errors, $validator->getErrors());
         return false;
     }
 }
Example #5
0
 /**
  * @param $type
  *
  * @return Validator
  */
 public function getValidator($type)
 {
     $validator = new Validator();
     $validator->addRule('title', 'text', true, 'Title is required but invalid');
     $validator->addRule('journal', 'text', false, 'Journal is required but invalid');
     $validator->addRule('volume', 'number', false, 'Volume is invalid');
     $validator->addRule('number', 'number', false, 'Number is invalid');
     $validator->addRule('booktitle', 'text', false, 'Booktitle is required but invalid');
     $validator->addRule('series', 'text', false, 'Series is invalid');
     $validator->addRule('edition', 'text', false, 'Edition is invalid');
     $validator->addRule('pages_from', 'number', false, 'First page is invalid');
     $validator->addRule('pages_to', 'number', false, 'Last page is invalid');
     $validator->addRule('note', 'text', false, 'Note is invalid');
     $validator->addRule('location', 'text', false, 'Location is invalid');
     $validator->addRule('date_published', 'date', true, 'Publication date is required but invalid. It must in the format YYYY-MM-DD');
     $validator->addRule('publisher', 'text', false, 'Publisher is invalid');
     $validator->addRule('institution', 'text', false, 'Institution is invalid');
     $validator->addRule('school', 'text', false, 'School is invalid');
     $validator->addRule('address', 'text', false, 'Address is invalid');
     $validator->addRule('howpublished', 'text', false, 'Howpublished is invalid');
     $validator->addRule('copyright', 'text', false, 'Copyright is invalid');
     $validator->addRule('doi', 'doi', false, 'DOI is invalid');
     $validator->addRule('isbn', 'text', false, 'ISBN invalid');
     // TODO: validate ISBN
     $validator->addRule('study_field', 'text', true, 'Field of Study is required but invalid');
     $validator->addRule('type', 'text', true, 'Type is required but invalid');
     $validator->addRule('abstract', 'text', false, 'Abstract is invalid');
     $validator->addRule('foreign', 'number', false, 'Foreign is valid');
     /* Overwrite rules with required rules depending on type */
     switch ($type) {
         case 'article':
             $validator->addRule('journal', 'text', true, 'Journal is required but invalid');
             break;
         case 'book':
             $validator->addRule('publisher', 'text', true, 'Publisher is required but invalid');
             break;
         case 'incollection':
         case 'inproceedings':
         case 'inbook':
             $validator->addRule('booktitle', 'text', true, 'Booktitle is required but invalid');
             break;
         case 'mastersthesis':
         case 'phdthesis':
             $validator->addRule('institution', 'text', true, 'Institution is required but invalid');
             break;
         case 'misc':
             $validator->addRule('howpublished', 'text', true, 'How published is required but invalid');
             break;
         case 'techreport':
             $validator->addRule('institution', 'text', true, 'Institution is required but invalid');
             break;
         case 'unpublished':
             // Nothing here
             break;
     }
     return $validator;
 }
Example #6
0
 /**
  * @return Validator
  */
 public function getValidator()
 {
     $validator = new Validator();
     $validator->addRule('name', 'text', true, 'Username is required but invalid');
     $validator->addRule('mail', 'email', true, 'Email address is required but invalid');
     $validator->addRule('active', 'boolean', false, 'Active is invalid');
     return $validator;
 }