/** * @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; }
/** * @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; }
/** * @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; }
/** @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; } }
/** * @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; }
/** * @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; }