[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: класс валидатора форм
Страницы: 1, 2, 3, 4, 5, 6, 7
killer8080
Игорь_Vasinsky
объясни зачем там нужен strtr?
Игорь_Vasinsky
да всё работало отлично... хулиган.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
killer8080
Цитата (Игорь_Vasinsky @ 22.03.2013 - 22:23)
да всё работало отлично... хулиган.

biggrin.gif
Игорь_Vasinsky
да уж. убрал тернарные операторы)) посыпалось всё

return filter_var($value, FILTER_VALIDATE_FLOAT) ? true :false;    


отлично проверяет.

в глобальных массивах завтра проверю.



_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Игорь_Vasinsky
с $_POST работает. значит везде пучком.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Игорь_Vasinsky
strtr ? ранее использовал is_float() - с запятой не работало.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
killer8080
Цитата (Игорь_Vasinsky @ 22.03.2013 - 22:37)
strtr ? ранее использовал is_float() - с запятой не работало.

ну так если там запятая, то по определению уже не флоат. Смысл подменять в строке запятую на точку, если is_float все равно вернет false.
Игорь_Vasinsky
если потребуется от пользователя получить значение в виде десятичной дроби - то нужно. например деньги

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
killer8080
Цитата (Игорь_Vasinsky @ 22.03.2013 - 22:46)
если потребуется от пользователя получить значение в виде десятичной дроби - то нужно. например деньги

только float в $_POST все равно не будет, даже если данные валидны wink.gif
Игорь_Vasinsky
у меня из POST прилетело 80.1 - ещё как вылидны

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
killer8080
Цитата (Игорь_Vasinsky @ 22.03.2013 - 22:54)
у меня из POST прилетело 80.1 - ещё как вылидны

думаешь?
var_dump(is_float('80.1'));
Игорь_Vasinsky
var_filter же пропустил. иначе нахер он нужен?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
killer8080
Цитата (Игорь_Vasinsky @ 22.03.2013 - 23:01)
var_filter же пропустил. иначе нахер он нужен?

я тебе говорил не о нем, а об is_float, о том что её нельзя использовать для валидации данных формы, так же как is_int.
Игорь_Vasinsky
я на паре тестов уже определил biggrin.gif

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
SlavaFr
Цитата (Игорь_Vasinsky @ 22.03.2013 - 08:32)
Давайте поговорим об интерфесах.

Я знаю что интерфейсы - содержат коллекции методов без - и класс к которому подключён интерфейс (ы) - должен в точности повторить данные методы

Но я понять не могу - для чего это нужно, почему просто не написать класс с нужными методами? это для того чтобы придерживаться "схожести" похожих классов?

Можно и сразу класс написать и там, где понадобятся его разновидности делать extends. Просто во время проектирования, классов еще не существует и по этому сделав интерфейсы, работу можно раскидать на множество программистов. То есть люди могут писать классы которые работают с твоим интерфейсом, а не с готовым классом и могут так же писать тесты своего кода не вникая в подробности имплиментаций.

К примеру я хочу описать сцену игры в которой воин стреляет из пистолета в цель. То есть не пистолета не война еще нет. Делаем интерфейсы.
КОД НЕ ТЕСТИРОВАН В ЕДИТОРЕ

//пистолет
interface Gun
{
//стреляй
public function shoot();
}

//воин
interface Warrior
{
//бери оружие
public function takeGun(Gun $gun);

//беги
public function run();

//целься и стреляй
public function aimAndShoot(Target $target);
}

//цель
interface Target
{
//попадание
public function hit();
}


Все, теперь ты сможешь писать свою сцену, а имплементация интерфейсов может производится разными людьми в удобно для них время :)

class Scene
{
/**
*
@var Warrior
*/

private $warrior;

/**
*
@var Gun
*/

private $gun;

/**
*
@var Target
*/

private $target;

/**
* constructor
*
*
@param Warrio $warrior
*
@param Gun $gun
*
@param Target $target
*/

public function __construct(Warrior $warrior,Gun $gun, Target $target)
{
$this->warrior = $warrior;
$this->gun = $gun;
$this->target = $target;
}

/**
* пожалуйста, моя сцена описана
*/

public function main()
{
$this->warrior->takeGun($this->gun);
$this->warrior->run();
$this->warrior->aimAndShoot($this->target);
$this->target->hit();
}

}


Все, в методе main я описал свою сцену не имея не одного реального класса.
Остается только передать в конструктор нужные имплементации и вызвать метод main.


Еще интерфейсы вместо готового класса могут быть выгодны, если наследники твоего класса, сильно от него отличаются. В этом случае наследникам придется практически переписывать каждый его метод. в этом случае лучше сразу брать интерфейс.



_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.