本文整理汇总了PHP中Validation::addError方法的典型用法代码示例。如果您正苦于以下问题:PHP Validation::addError方法的具体用法?PHP Validation::addError怎么用?PHP Validation::addError使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Validation
的用法示例。
在下文中一共展示了Validation::addError方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: check
public static function check($items = array())
{
$source = filter_input_array(INPUT_POST);
$instance = new Validation();
foreach ($items as $item => $rules) {
$itemName = isset($rules['name']) ? $rules['name'] : 'No Name';
foreach ($rules as $rule => $ruleValue) {
$value = trim($source[$item]);
if ($rule === 'required' && empty($value)) {
$instance->addError("{$itemName} is required");
} else {
if (!empty($value)) {
switch ($rule) {
case 'min':
if (strlen($value) < $ruleValue) {
$instance->addError("{$itemName} must be at least {$ruleValue} characters long");
}
break;
case 'max':
if (strlen($value) > $ruleValue) {
$instance->addError("{$itemName} cannot be longer than {$ruleValue} characters");
}
break;
case 'matches':
if ($value != $source[$ruleValue]) {
$instance->addError("{$ruleValue} must match {$item} ");
}
break;
case 'unique':
$check = $instance->_db->get($ruleValue, array($item, '=', $value));
if ($check->count()) {
$instance->addError("{$itemName} must be unique");
}
break;
case 'phone':
break;
case 'email':
break;
case 'website':
$preg = "/^(https?:\\/\\/)([\\da-z\\.-]+)\\.([a-z\\.]{2,6})(\\/([\\da-z\\.-]+))*\\/?(([\\w\\.-]+)\\.([\\da-z]{2,6}))?((\\#[\\w\\.-]+)|(\\?([\\da-z]+(=[\\da-z]+)?)(&([\\da-z]+(=[\\da-z]+)?))*))?/i";
if (!preg_match($preg, $value)) {
$instance->addError("{$itemName} must be a valid website");
}
}
}
}
}
}
if (empty($instance->errors())) {
$instance->confirm();
}
return $instance;
}
示例2: check
$logs = check(strval($_POST['logs']));
$pars = check(strval($_POST['pars']));
$pars2 = check(strval($_POST['pars2']));
$provkod = check(strtolower($_POST['provkod']));
$invite = !empty($config['invite']) ? check(strval($_POST['invite'])) : '';
$meil = !empty($config['regmail']) ? strtolower(check(strval($_POST['meil']))) : '';
$domain = !empty($config['regmail']) ? utf_substr(strrchr($meil, '@'), 1) : '';
$gender = $_POST['gender'] == 1 ? 1 : 2;
$registration_key = '';
$_SESSION['reglogs'] = $logs;
$_SESSION['regmeil'] = $meil;
$_SESSION['gender'] = $gender;
$validation = new Validation();
$validation->addRule('equal', array($provkod, $_SESSION['protect']), 'Проверочное число не совпало с данными на картинке!')->addRule('regex', array($logs, '|^[a-z0-9\\-]+$|i'), 'Недопустимые символы в логине. Разрешены знаки латинского алфавита, цифры и дефис!', true)->addRule('regex', array($pars, '|^[a-z0-9\\-]+$|i'), 'Недопустимые символы в пароле. Разрешены знаки латинского алфавита, цифры и дефис!', true)->addRule('email', $meil, 'Вы ввели неверный адрес e-mail, необходим формат name@site.domen!', $config['regmail'])->addRule('string', $invite, 'Слишком длинный или короткий пригласительный ключ!', $config['invite'], 15, 20)->addRule('string', $logs, 'Слишком длинный или короткий логин!', true, 3, 20)->addRule('string', $pars, 'Слишком длинный или короткий пароль!', true, 6, 20)->addRule('equal', array($pars, $pars2), 'Ошибка! Введенные пароли отличаются друг от друга!')->addRule('not_equal', array($logs, $pars), 'Пароль и логин должны отличаться друг от друга!');
if (ctype_digit($pars)) {
$validation->addError('Запрещен пароль состоящий только из цифр, используйте буквы!');
}
if (substr_count($logs, '-') > 2) {
$validation->addError('Запрещено использовать в логине слишком много дефисов!');
}
if (!empty($logs)) {
// Проверка логина или ника на существование
$reglogin = DB::run()->querySingle("SELECT `users_id` FROM `users` WHERE LOWER(`users_login`)=? OR LOWER(`users_nickname`)=? LIMIT 1;", array(strtolower($logs), strtolower($logs)));
$validation->addRule('empty', $reglogin, 'Пользователь с данным логином или ником уже зарегистрирован!');
// Проверка логина в черном списке
$blacklogin = DB::run()->querySingle("SELECT `black_id` FROM `blacklist` WHERE `black_type`=? AND `black_value`=? LIMIT 1;", array(2, strtolower($logs)));
$validation->addRule('empty', $blacklogin, 'Выбранный вами логин занесен в черный список!');
}
if (!empty($config['regmail']) && !empty($meil)) {
// Проверка email на существование
$regmail = DB::run()->querySingle("SELECT `users_id` FROM `users` WHERE `users_email`=? LIMIT 1;", array($meil));
示例3: check
break;
############################################################################################
## Изменение пароля ##
############################################################################################
############################################################################################
## Изменение пароля ##
############################################################################################
case 'editpass':
$uid = !empty($_GET['uid']) ? check($_GET['uid']) : 0;
$newpass = isset($_POST['newpass']) ? check($_POST['newpass']) : '';
$newpass2 = isset($_POST['newpass2']) ? check($_POST['newpass2']) : '';
$oldpass = isset($_POST['oldpass']) ? check($_POST['oldpass']) : '';
$validation = new Validation();
$validation->addRule('equal', array($uid, $_SESSION['token']), 'Неверный идентификатор сессии, повторите действие!')->addRule('equal', array(md5(md5($oldpass)), $udata['users_pass']), 'Введенный пароль не совпадает с данными в профиле!')->addRule('equal', array($newpass, $newpass2), 'Новые пароли не одинаковые!')->addRule('string', $newpass, 'Слишком длинный или короткий новый пароль!', true, 6, 20)->addRule('regex', array($newpass, '|^[a-z0-9\\-]+$|i'), 'Недопустимые символы в пароле, разрешены знаки латинского алфавита, цифры и дефис!', true)->addRule('not_equal', array($log, $newpass), 'Пароль и логин должны отличаться друг от друга!');
if (ctype_digit($newpass)) {
$validation->addError('Запрещен пароль состоящий только из цифр, используйте буквы!');
}
if ($validation->run()) {
DB::run()->query("UPDATE `users` SET `users_pass`=? WHERE `users_login`=? LIMIT 1;", array(md5(md5($newpass)), $log));
if (!empty($udata['users_email'])) {
sendMail($udata['users_email'], 'Изменение пароля на сайте ' . $config['title'], nl2br("Здравствуйте, " . nickname($log) . " \nВами была произведена операция по изменению пароля \n\nВаш новый пароль: " . $newpass . " \nСохраните его в надежном месте \n\nДанные инициализации: \nIP: " . $ip . " \nБраузер: " . $brow . " \nВремя: " . date('j.m.y / H:i', SITETIME)));
}
unset($_SESSION['log'], $_SESSION['par']);
notice('Пароль успешно изменен!');
redirect("login.php");
} else {
show_error($validation->getErrors());
}
echo '<img src="/images/img/back.gif" alt="image" /> <a href="account.php">Вернуться</a><br />';
break;
############################################################################################
示例4: validate
/**
* Validates the current request against the specified parameter list.
* If any of the specified parameters are found to be null or empty in
* the current request the validation will fail and the request should be
* marked invalid.
*
* @param array $attributes list of attributes to validate.
* @param boolean <code>$failfast</code> true if this validation should
* fail fast (return on first encounter of invalid attribute).
*
* @return true if the current request validates; otherwise false.
*/
protected function validate($parameters, $failfast = false)
{
$result = new Validation();
if (!is_array($parameters)) {
return $result;
}
$result->setValid(true);
foreach ($parameters as $parameter) {
$value = $this->get($parameter);
if ($value === NULL or $value === '' or empty($value)) {
$result->setValid(false);
$result->addError($parameter);
if ($failfast) {
return $result;
}
}
}
return $result;
}
示例5: Validation
$validate = new Validation();
$validate->check($_POST, array('Username' => array('required' => true), 'Password' => array('required' => true)));
$data = array();
$data['Success'] = false;
if ($validate->passed()) {
$user = new User();
$login = $user->login($_POST['Username'], Hash::make($_POST['Password']));
if ($login) {
if ($user->isActivated($_POST['Username'])) {
$data['Success'] = true;
$data['Redirect'] = 'Index.php';
$data['Session'] = Session::get(Config::get('session/session_name'));
echo json_encode($data);
} else {
$data['Success'] = false;
$validate->addError("Account is not activated, please check your email");
$data['Errors'] = $validate->Errors();
echo json_encode($data);
}
} else {
$data['Success'] = false;
$validate->addError("Wrong password or Username");
$data['Errors'] = $validate->Errors();
echo json_encode($data);
}
} else {
$data['Errors'] = $validate->Errors();
$data['Success'] = false;
echo json_encode($data);
}
}
示例6: VALUES
$client_insert['client_id'] = $pdo->lastInsertId();
/* Hitórico */
$pdo->prepare('INSERT INTO client_history (
client_id, user_id, status, typing, name, email, ip_address, call_date , start_call_date , time
) VALUES (
:client_id, :user_id, :status, :typing, :name, :email, :ip_address, NOW(), NULL, :time
)')->execute($client_insert);
/* Sessão */
$client_insert['name'] = $name;
$user = array('user_id' => 0, 'name' => NULL);
$session = new Session();
$session->register('client', $client_insert);
$session->register('client_user', $user);
header('Location: main.php');
exit;
} else {
$vld->addError('Já existe um cliente com o e-mail informado');
}
}
}
$tpl->assign('error', $vld->getErrorsAsHtml());
$stmt = $pdo->prepare('SELECT COUNT(*) FROM user WHERE time > :time AND status = :status');
$stmt->bindValue('time', $lifeTime);
$stmt->bindValue('status', 1);
$stmt->execute();
if ($stmt->fetchColumn() == 0) {
$tpl->block('info');
} else {
$tpl->block('form');
}
$tpl->show();
示例7: validate
/**
* Form token validation
* @param array $validations The array of validation rules
* @return void
*/
public static function validate($validations = null)
{
if (!isset($_POST['lc_formToken_' . _cfg('formTokenName')])) {
return false;
}
$token = _decrypt(session_get(_cfg('formTokenName')));
$postedToken = _decrypt(_post($_POST['lc_formToken_' . _cfg('formTokenName')]));
$result = false;
# check token first
if ($token == $postedToken) {
# check referer if it is requesting in the same site
if (isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'] && _cfg('siteDomain')) {
$siteDomain = _cfg('siteDomain');
$siteDomain = preg_replace('/^www\\./', '', $siteDomain);
$parsedURL = parse_url($_SERVER['HTTP_REFERER']);
$parsedURL['host'] = preg_replace('/^www\\./', '', $parsedURL['host']);
if (strcasecmp($siteDomain, $parsedURL['host']) == 0) {
$result = true;
}
}
}
if ($result == false) {
Validation::addError('', _t('Error occured during form submission. Please refresh the page to try again.'));
return false;
}
if ($validations && Validation::check($validations) === false) {
return false;
}
return true;
}
示例8: Session
<?php
require_once '../util/header.php';
require_once 'includes.php';
$session = new Session();
$session->checkSession('user');
$vld = new Validation();
$vld->validate();
if ($vld->hasErrors() == false) {
extract($_POST, EXTR_SKIP);
$pdo = PDOConnection::getInstance();
$user_session = $session->get('user');
$stmt = $pdo->prepare('SELECT * FROM user WHERE user_id = :user_id');
$stmt->bindValue('user_id', $user_session['user_id']);
$stmt->execute();
$user = $stmt->fetch();
if (sha1($password . $systemPasswordSalt) != $user['password']) {
$vld->addError('Senha atual não confere');
} else {
$stmt = $pdo->prepare('UPDATE user SET password = :password WHERE user_id = :user_id');
$stmt->bindValue('user_id', $user_session['user_id']);
$stmt->bindValue('password', sha1($new_password . $systemPasswordSalt));
$stmt->execute();
$vld->addMessage('Senha alterada com sucesso');
}
}
$vld->jsonResult();
示例9: COUNT
$stmt->bindParam('user', $user);
$stmt->bindParam('password', sha1($password . $systemPasswordSalt));
$stmt->bindValue('status', 1);
$stmt->execute();
if ($stmt->fetchColumn() > 0) {
$stmt = $pdo->prepare('SELECT COUNT(*) FROM user WHERE user = :user AND time > :time AND status = :status');
$stmt->bindParam('user', $user);
$stmt->bindValue('time', $lifeTime);
$stmt->bindValue('status', 1);
$stmt->execute();
if ($stmt->fetchColumn() == 0) {
$stmt = $pdo->prepare('SELECT * FROM user WHERE user = :user AND password = :password AND status = :status LIMIT 1');
$stmt->bindParam('user', $user);
$stmt->bindParam('password', sha1($password . $systemPasswordSalt));
$stmt->bindValue('status', 1);
$stmt->execute();
$user = $stmt->fetch(PDO::FETCH_ASSOC);
$session = new Session();
$session->register('user', $user);
header('Location: main.php');
exit;
} else {
$vld->addError('Já existe um usuário logado com os dados informados');
}
} else {
$vld->addError('Usuário ou senha inválido');
}
}
}
$tpl->assign('error', $vld->getErrorsAsHtml());
$tpl->show();
示例10: Session
<?php
require_once '../util/header.php';
require_once 'includes.php';
$session = new Session();
$session->checkSession('user');
$vld = new Validation();
$vld->validate();
if ($vld->hasErrors() == false) {
extract($_POST, EXTR_SKIP);
$headers = "From: <{$from}>\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";
if (@mail($to, $subject, $message, $headers)) {
$vld->addMessage('E-mail enviado com sucesso');
} else {
$vld->addError('Falha ao enviar E-mail, tente novamente');
}
}
$vld->jsonResult();
示例11: Session
<?php
require_once '../util/header.php';
require_once 'includes.php';
$session = new Session();
$session->checkSession('user');
$vld = new Validation();
$vld->validate();
if ($vld->hasErrors() == false) {
extract($_POST, EXTR_SKIP);
$pdo = PDOConnection::getInstance();
$stmt = $pdo->prepare('SELECT COUNT(*) FROM user WHERE user = :user');
$stmt->bindValue('user', $user);
$stmt->execute();
if ($stmt->fetchColumn() > 0) {
$vld->addError('Já existe um cadastro com o usuário (' . $user . ')');
} else {
$user_add = array('status' => 1, 'typing' => 0, 'name' => $name, 'level' => $level, 'email' => $email, 'photo' => NULL, 'user' => $user, 'password' => sha1($password . $systemPasswordSalt), 'time' => 0);
$pdo->prepare('INSERT INTO user (
status, typing, level, name, email, photo, user, password, register_date, time
) VALUES (
:status, :typing, :level, :name, :email, :photo, :user, :password, NOW(), :time
)')->execute($user_add);
$vld->addMessage('Usuário (' . $user . '), adicionado com sucesso');
}
}
$vld->jsonResult();