Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Помогите выбрать валидатор, Подскажите какой лучше
Ron  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1043
Пользователь №: 41686
На форуме: 1 год, 3 месяца, 26 дней
Карма: 13




Всем привет!

Уважаемые знатоки, подскажите, пожалуйста, валидатор примерно такой же как в Симфони, только мне нужен попроще.

Есть объект, нужно определить присутствуют ли в нем указанные свойства и какие значения им присвоены.

Например:
class registrationForm
{
public $userName = 'Ivan'; //String, not null (required), from 4 to 20 char.
public $userPhone = '123456'; //Integer, not null
}

Ну и где-то указывать чего я ожидаю, скажем, через аннотации. Или отдельным массивом в свойсте rules. Желательно, чтобы были готовые типы: email и так далее. И еще проверка через регулярки, хотя можно только ее в конце-концов.

Типа
public $rules = array('propertyName'=>array('regex'=>'value',
'error'=>'Имя должно содержать...'));


Собственно говоря сам вопрос: подскажите есть ли подходящий под описание валидатор? Чего-то ломы самому велосипедить, долго это и ну бред жеж, должно быть что-то готовое уже. Решение от Симфони тяжеловато, мне не нужна такая гибкость, потому что проект лайтовый, там этот валидатор будет чуть ли не больше, чем весь движок. =)




--------------------
Жду 5.11.2017
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 11 месяцев, 1 день
Карма: 40




максимум что я смог найти
https://packagist.org/packages/alexgarrett/violin

Но я бы написал свой, так как там ничего сложного нет.


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

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Zzepish  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Аццкая хрень
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 5475
Пользователь №: 32538
На форуме: 4 года, 6 месяцев, 8 дней
Карма: 49




МОжно вытащить валидатор из зенда второго!


--------------------
Правда тоже ложь, но с иным углом.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Ron  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1043
Пользователь №: 41686
На форуме: 1 год, 3 месяца, 26 дней
Карма: 13




Спасибо за помощь!

Цитата (chee @ 1.07.2016 - 23:34)
максимум что я смог найти

Да, вполне неплохая штука, но придется обертку-адаптер писать. Тогда проще действительно самому на регулярках сваять валидатор и хрен с ним. Трудозатрат будет примерно столько же, может быть даже меньше.

Цитата (Zzepish @ 2.07.2016 - 00:19)
МОжно вытащить валидатор из зенда второго!

Чего-то посмотрел, выглядит не аппетитно. На каждый тип данных свой объект получается? Лажа по-моему. Или я плохо доку читал? )

Буду на регулярках делать, действительно, а чего это я? ))) Регулярки знаю хорошо, даже очень (это не камень в огород). wink.gif

Вот думал через анотации объявлять, только к ним доступ через Reflection, - ужасная вещь. Неужели в симфони так же?

Кстати тут попутно любопытное наблюдение: регулярки на PHP 7 работают в 2 раза медленее. Ну там копейки конечно, и все же удивительно.



--------------------
Жду 5.11.2017
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Zzepish  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Аццкая хрень
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 5475
Пользователь №: 32538
На форуме: 4 года, 6 месяцев, 8 дней
Карма: 49




Ron
Цитата
Чего-то посмотрел, выглядит не аппетитно. На каждый тип данных свой объект получается? Лажа по-моему. Или я плохо доку читал? )

Я так глубоко еще не читал) я только учу зенд в целом biggrin.gif
Цитата
Кстати тут попутно любопытное наблюдение: регулярки на PHP 7 работают в 2 раза медленее. Ну там копейки конечно, и все же удивительно.

О_о вот это интересный факт! Надо будет затестить!


--------------------
Правда тоже ложь, но с иным углом.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
brevis  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 264
Пользователь №: 39616
На форуме: 2 года, 6 месяцев, 21 день
Карма: 31




Когда-то сохранил в закладки https://github.com/Respect/Validation . И судя по количеству stars -- не я один.

Сам я его никогда не использовал, всё жду подходящего момента smile.gif Не знаю насколько эта штука легкая, но как минимум интересная. Умеет много всякого, больше сотни вилидаторов из коробки, может юзать зендовские и симфониевские валидаторы.


--------------------
PMПисьмо на e-mail пользователю
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Ron  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1043
Пользователь №: 41686
На форуме: 1 год, 3 месяца, 26 дней
Карма: 13




brevis, а вот это более чем любопытно! Автор валидатора, конечно, проделал большой труд, такую штуку сразу не напишешь. Хотя архитектурно там ничего особенного нет, просто хороший подход, не более того.

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

Да, интересненько!

Можно жеж сделать в entity метод isValid() и натравить валидатор на самого себя. Архитектурно может быть и неочень правильно, зато крайне удобно. Просто у объекта с данными спрашивать валиден он или нет.



--------------------
Жду 5.11.2017
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса