<?php
namespace Lagdo\Polr\Admin\Helpers;
use Valitron\Validator as ValitronValidator;
class Validator
{
/**
* Validate dates for stats
*
* @param array $dates
*
* @return boolean
*/
public function validateStatsDate(array $dates)
{
$validator = new ValitronValidator($dates);
$validator->rule('date', ['right_bound', 'left_bound']);
return $validator->validate();
}
/**
* Validate link ending
*
* @param string $ending
*
* @return boolean
*/
public function validateLinkEnding($ending)
{
$values = [
'ending' => $ending,
];
$rules = array(
'ending' => [['required'], ['slug']],
);
$validator = new ValitronValidator($values);
$validator->mapFieldsRules($rules);
return $validator->validate();
}
/**
* Validate link
*
* @param array $values
* @param boolean $endingRequired
*
* @return boolean
*/
public function validateLinkUrl(array $values, $endingRequired)
{
$rules = array(
'ending' => [['slug']],
'url' => [['required'], ['url']],
);
if(($endingRequired))
{
$rules['ending'][] = ['required'];
}
$validator = new ValitronValidator($values);
$validator->mapFieldsRules($rules);
return $validator->validate();
}
/**
* Validate link status
*
* @param array $values
*
* @return boolean
*/
public function validateLinkStatus(array $values)
{
$rules = array(
'ending' => [['required'], ['slug']],
'status' => [['required'], ['in', [0, 1]]],
);
$validator = new ValitronValidator($values);
$validator->mapFieldsRules($rules);
return $validator->validate();
}
/**
* Validate end point name
*
* @param string $endpoint
*
* @return boolean
*/
public function validateEndpoint($endpoint)
{
$values = [
'endpoint' => $endpoint,
];
$rules = array(
'endpoint' => [['required'], ['slug']],
);
$validator = new ValitronValidator($values);
$validator->mapFieldsRules($rules);
return $validator->validate();
}
/**
* Validate an id (integer)
*
* @param integer $id
*
* @return boolean
*/
public function validateId($id)
{
$values = ['id' => $id];
$rules = [
'id' => [['required'], ['integer']],
];
$validator = new ValitronValidator($values);
$validator->mapFieldsRules($rules);
return $validator->validate();
}
/**
* Validate user quota
*
* @param array $values
*
* @return boolean
*/
public function validateUserQuota(array $values)
{
$rules = [
'id' => [['required'], ['integer']],
'quota' => [['required'], ['integer']],
];
$validator = new ValitronValidator($values);
$validator->mapFieldsRules($rules);
return $validator->validate();
}
/**
* Validate user status
*
* @param array $values
*
* @return boolean
*/
public function validateUserStatus(array $values)
{
$rules = [
'id' => [['required'], ['integer']],
'status' => [['required'], ['integer'], ['in', [0, 1]]],
];
$validator = new ValitronValidator($values);
$validator->mapFieldsRules($rules);
return $validator->validate();
}
/**
* Validate user role
*
* @param array $values
*
* @return boolean
*/
public function validateUserRole(array $values)
{
$rules = [
'id' => [['required'], ['integer']],
'role' => [['required'], ['alphaNum'], ['lengthBetween', 1, 16]],
];
$validator = new ValitronValidator($values);
$validator->mapFieldsRules($rules);
return $validator->validate();
}
}
|