
Многие сервисы и приложения (особенно веб-сервисы) принимают данные в древовидном виде. Например, такую форму имеют данные, поступающие через JSON-PRC, JSON-REST, PHP-GET/POST. Естественно, появляется задача валидировать их структуру. Существует много вариантов решения этой задачи, начиная от нагромождения if-ов в контроллерах и заканчивая классами, реализующими валидацию по разнообразным конфигурациям. Чаще всего для решения этой задачи требуется рекурсивный валидатор, работающий со схемами данных, описанными по определённому стандарту. Одним из таких стандартов является JSON-Schema, рассмотрим его поближе.
Читать полностью »
Рубрика «валидация» - 4
Описание и валидация древовидных структур данных. JSON-Schema
2012-11-16 в 13:52, admin, рубрики: IT-стандарты, javascript, json, json-schema, node.js, nodejs, валидация, стандарты, метки: javascript, json, json-schema, nodejs, валидация, стандартыExtJs: легкий способ мультизагрузки и валидации файлов (используем HTML5 File API)
2012-11-13 в 15:37, admin, рубрики: extjs 4, javascript, Библиотека ExtJS/Sencha, валидация, метки: extjs 4, валидацияЕсли вам нужно валидировать загружаемые пользователем файлы не только на сервере, но и на клиенте, или вы хотите позволить пользователю выбрать сразу несколько файлов для загрузки (multiple=”multiple”) то, скорее всего, вы столкнетесь с некоторыми трудностями при использовании Ext.form.field.File.
Суть проблемы
Проверить расширение загружаемого файла, если пользователь выбрал только один файл, не составит труда — просто объявляем vtype и смотрим value input-а:
Ext.apply(Ext.form.field.VTypes, {
file: function(val, field) {
var types = ['rtf', 'pdf', 'doc'],
ext = val.substring(val.lastIndexOf('.') + 1);
if(Ext.Array.indexOf(types, ext) === -1) {
return false;
}
}
,fileText: 'Invalid file'
});
Универсальный валидатор микроразметки в Яндекс.Вебмастере
2012-07-30 в 11:56, admin, рубрики: microdata, schema.org, Блог компании Яндекс, валидация, Микроформаты, Семантическая Сеть, яндекс.вебмастер, метки: microdata, schema.org, валидация, яндекс.вебмастерВ последнее время вебмастера используют семантическую микроразметку все чаще: по нашим данным, сейчас 10% страниц рунета размечены, и это число постоянно растет. А вслед за популярностью микроразметки растет и потребность вебмастеров в дополнительных ее видах. И не только тех, которые поддерживает Яндекс. Именно поэтому мы решили сделать валидатор микроразметки в Яндекс.Вебмастере универсальным. Для начала мы научили его проверять корректность всех типов разметки Schema.org и microdata.
Пример валидации разметки Product (Schema.org):
Читать полностью »
Yii: Динамическое изменение правил валидации (сценариев)
2012-06-26 в 20:06, admin, рубрики: cactiverecord, php, yii, валидация, метки: cactiverecord, yii, валидация В данном маленьком топике я хотел бы рассказать об одном очень простом рецепте (который многим из вас, вероятно знаком) в контексте фреймворка Yii. Речь идет о динамическом изменении правил валидации формы — когда правила валидации изменяются в зависимости от выбора пользователя вашего приложения, сделанного, например, путем выбора значения из списка или установленного чекбокса.
Читать полностью »
Декларативные vs императивные валидаторы
2012-05-25 в 12:56, admin, рубрики: .net, валидация, декларативное программирование, Программирование, Совершенный код, функциональное программирование, метки: .net, c++, валидация, декларативное программирование, Программирование, функциональное программированиеХотел бы начать тему о недостатках декларативного подхода с простого примера – процедуры валидации.
Во многих системах (в большинстве?) валидаторы различных бизнес-объектов задаются в декларативном стиле – в виде атрибутов, XML конфигураций и др. Иногда валидаторы генерируются автоматически на основе структуры базы данных (длинны колонок например) и т.д.
Насколько оправдан декларативный подход когда мы задаем валидацию, насколько он удобен? Я предлагаю рассмотреть сложный случай, когда разрабатывается, например, B2Bсистема и каждый клиент, подключенный к системе, может в некоторых случаях иметь разные настройки валидации. Кроме того, предположим, что разработка ведется в команде в параллельных бранчах и нам нужно периодически объединять (merge) их. Да, и еще система предполагает локализацию валидационных сообщений.
Читать полностью »
Исправление ошибок в больших формах
2012-04-10 в 13:06, admin, рубрики: validation, валидация, валидация форм, интерфейсыПредставляю вам перевод статьи «Idea: Error-fields only» от Baymard Institute. В статье предложена идея, как можно улучшить процесс заполнения длинных форм.
Формы с полями, требующими правильного заполнения, ужасны. Представьте, вы только что закончили заполнять 20 полей, жмете «Отправить», а вам возвращается та же самая страница. И все только потому, что вы неправильно заполнили одно единственное поле.
Читать полностью »
Валидация Datetime полей при переводе проекта от ASP.NET MVC 3 к ASP.NET MVC 4
2012-04-09 в 8:14, admin, рубрики: .net, asp.net mvc 4, datetime, razor, валидация, Веб-разработка, метки: asp.net mvc 4, datetime, razor, валидацияОписание
Недавно решил попробовать новую версии платформы ASP.NET MVC 4, и перевел проект с MVC 3 на MVC 4.
И тут возникли нежданно, негаданно проблемы (хотя кого я обманываю, переход на бета версию всегда означает некий риск) с валидацией на клиентской стороне полей типа Datetime. Внезапно представление отказывалось валидировать такие поля, хотя раньше они проходили ее, учитывая тот факт что настройки для культур сервера и представления остались те же.
Читать полностью »
Валидация в Yii
2012-03-19 в 20:46, admin, рубрики: yii, yii framework, валидация, валидация данных, валидация форм, метки: yii, yii framework, валидация, валидация данных, валидация форм Доброго времени суток. Сегодня мне хотелось бы разобрать такую интересную возможность Yii Framework, как валидация данных моделей. На момент написания статьи актуальная версия фреймворка 1.1.10, собственно рассматривать валидацию на ней и будем.
Хочу сразу сказать, что мне не хочется перепечатывать мануалы и API, поэтому я по возможности буду ссылаться на готовые источники. Кроме того, я не буду описывать то, как пользоваться валидаторами. Я постараюсь раскрыть механизм валидации моделей Yii на основе правил валидации, чтобы используя их вы понимали что же на самом деле происходит и где в случае чего можно искать ошибки.
Читать полностью »
