Pull to refresh
  • by relevance
  • by date
  • by rating

Интересная задачка для знатоков

Website development
В процессе написания плагинов для jQuery столкнулся с необходимостью добавлять расширенные атрибуты к некоторым известным тэгам для облегчения передачи параметров плагинам (получается красиво и просто), но так же хочется без проблем проходить валидацию страницы. Небольшой эксперимент поставил перед выбором: или валидный html или расширенные атрибуты…
Подробности и вопрос
Total votes 33: ↑30 and ↓3 +27
Views714
Comments 60

Использование Low Pro и jQuery

jQuery
Translation

Что такое Low Pro?


Так что же такое Low Pro? Это плагин, который позволяет сделать JavaScript более объектно-ориентированным через делегацию событий. Архитектура jQuery плагинов позволяет в простой форме расширить функционал ядра.Ранее не существовало легкого пути в создании макроса, который создал бы несколько типов событий на один элемент. Но это время пришло!
Читать дальше →
Total votes 21: ↑11 and ↓10 +1
Views630
Comments 12

Vanadium: семантическая валидация на клиенте

Website development
Translation
Логотип Vanadium

Vanadium — новый валидатор для клиента, который позволяет вам определять логику семантической валидации через атрибут класса (class). На главной странице проекта есть такие примеры, как:
<input class=":required" type="text" />
<input class=":integer" type="text" />
<input class=":length;4" type="text" />
<input class=":min_length;4" type="text" />
<input class=":format;/^(vanadium)+$/i" type="text" />
<input id="pass" class=":ajax;/username_checker/check.json" type="text" />
<input id="pass" class=":email" type="text" />
<input id="pass" class=":required" type="password" /><input class=":same_as;pass" type="password" />


* This source code was highlighted with Source Code Highlighter.


Примечание от переводчика: Также поддерживается декларация правил валидации посредством JSON-определений и проверка на сервере (AJAX). Требуется jQuery.

Total votes 42: ↑31 and ↓11 +20
Views980
Comments 26

MVC 2: Валидация модели

ASP
Translation
asp.net mvc 2
Это вторая часть из цикла статей о грядущих нововведениях в ASP.NET MVC 2, выход которого уже не за горами. Данный пост посвящен улучшениям в валидации, добавленных в ASP.NET MVC 2.
Читать дальше →
Total votes 39: ↑25 and ↓14 +11
Views14.7K
Comments 13

Новые подходы к валидации в Rails 3

Ruby on Rails
Translation

Введение


Как вы уже знаете из поста тов. Yehuda Katz об ActiveModel абстракции, в Rails 3.0, ActiveRecord отныне содержит в себе некоторые аспекты ActiveModel, среди которых модули валидации.

И прежде чем мы начнем, давайте вспомним, какие методы валидации у нас уже есть:
  • validates_acceptance_of
  • validates_associated
  • validates_confirmation_of
  • validates_each
  • validates_exclusion_of
  • validates_format_of
  • validates_inclusion_of
  • validates_length_of
  • validates_numericality_of
  • validates_presence_of
  • validates_size_of
  • validates_uniqueness_of
Все они по прежнему в строю, но Rails 3 предлагает несколько новых отличных альтернатив.
Читать дальше →
Total votes 44: ↑39 and ↓5 +34
Views7.9K
Comments 8

XSD — умный XML

XML
XSD — это язык описания структуры XML документа. Его также называют XML Schema. При использовании XML Schema XML парсер может проверить не только правильность синтаксиса XML документа, но также его структуру, модель содержания и типы данных.

Такой подход позволяет объектно-ориентированным языкам программирования легко создавать объекты в памяти, что, несомненно, удобнее, чем разбирать XML как обычный текстовый файл.

Кроме того, XSD расширяем, и позволяет подключать уже готовые словари для описания типовых задач, например веб-сервисов, таких как SOAP.

Стоит также упомянуть о том, что в XSD есть встроенные средства документирования, что позволяет создавать самодостаточные документы, не требующие дополнительного описания.

Рассмотрим в качестве примера XSD документ, описывающий часть структуры аккаунта на хабре.



Читать дальше →
Total votes 59: ↑49 and ↓10 +39
Views378.3K
Comments 34

NerdDinner. Шаг 3: Построение модели

ASP
Translation
Это третий шаг бесплатного руководства «NerdDinner», которое показывает, как построить маленькое, но полноценное веб-приложение, используя ASP.NET MVC.

Во фреймворке типа модель-представление-контроллер термин «модель» ссылается на объекты, которые представляют данные приложения, как и соответствующую логику предметной области, которая интегрирует проверку и бизнес правила. Модель во многих случаях является «сердцем» MVC-приложения и, как мы увидим позже, управляет его основным поведением.

ASP.NET MVC фреймворк поддерживает использование любой технологии доступа к данным, следовательно разработчики могут выбирать разные варианты реализации своей модели включая: LINQ to Entities, LINQ to SQL, NHibernate, LLBLGen Pro, SubSonic, WilsonORM или прямой доступ через ADO.NET DataReader и DataSet.

Для нашего NerdDinner приложения мы будем использовать LINQ to SQL для создания простой модели, которая почти аналогична структуре базы данных, а также добавим некоторую логику проверок и бизнес правила. Позже мы реализуем класс-хранилище, который поможет абстрагировать постоянную реализацию хранения данных от остальной части приложения и позволит легко производить с ним юнит-тесты.
Читать дальше →
Total votes 26: ↑17 and ↓9 +8
Views6K
Comments 1

Валидация данных в DataGrid по «столбцам»

Lumber room

Вступление



В своих проектах на WPF для отображения данных я использую в основном DataGrid. Этот элемент управления очень удобный, прост в использовании и к тому же с выходом Visual Studio 2010 является частью 4-ого фрэймвёрка.

Так вот, при необходимости изменить данные в таблице (DataGrid) я предлагал пользователю модальное окно, в котором отображались данные маркированного в таблице объекта. И пользователь изменял этот самый объект в зависимости от потребности. Валидация данных происходила до того, как пользователь закроет окно. Всё работало гладко.

Но как-то раз возникла необходимость предоставить возможность пользователю изменять данные напрямую в таблице (как в Excel), без вызова модального окна. Надо – сделаем.

Но при реализации этого самого действия я столкнулся с одной проблемой: валидация данных. А если конкретней необходимо избежать ввода одинаковых данных в таблицу. Надо сказать, что DataGrid содержит поддержку валидации данных реализованный объектом ValidationRule. Но дело в том, что валидация данных происходила в пределах актуального объекта. То есть, валидация осуществлялась по “строке” DataGrid  а не по “столбцу”. Google в этом помочь не смог. Поэтому пришлось немного покумекать.
Читать дальше →
Total votes 10: ↑6 and ↓4 +2
Views1.8K
Comments 4

Развитие валидации форм

Website development
Translation

Валидация форм была педантичным занятием с момента появления web. Первой пришла серверная валидация. Затем она развилась в валидацию на стороне клиента для проверки результатов в браузере. Теперь у нас есть такие гиганты как HTML5 и CSS3: глава о формах HTML5 предлагает нам новые типы для input полей и атрибуты, которые делают возможным проверку ограничений поля. Базовый UI модуль CSS3 предоставляет несколько псевдо-классов, которые помогают нам стилизовать состояние валидности и менять внешний вид поля в зависимости от действий пользователя. Давайте взглянем на комбинацию обоих для создания валидатора форм основанного на CSS, который имеет достаточно широкую поддержку браузеров.

Чем больше мы можем дать подсказок пользователю, как правильно заполнять форму, в процессе заполнения, тем меньше шансов, что он сделает ошибку. Взгляните на пример CSS3 валидации форм в браузере поддерживающем CSS3 UI псевдо-классы, например Chrome 4+, Safari 5+ или Opera 9.6+. Я использовал CSS3 UI псевдо-классы и HTML5 атрибуты форм для создания валидации основанной на CSS. Давайте посмотрим как это работает.
Читать дальше →
Total votes 71: ↑69 and ↓2 +67
Views20.4K
Comments 31

Подробнее об атрибутах в Delphi 2010. Пример — проверка данных

Delphi
Translation
МышаВ моей предыдущей статье Кратко об атрибутах в Delphi 2010, я показал основы связанные с созданием, применением и опросом атрибутов. Однако, я не привел пример, для чего вы могли бы их использовать.

Вероятно, наиболее распространенным является пример для персистентности, и, действительно, кто-то опубликовал подобный пример на сайте Wings of Wind. Я хотел бы показать другое их применение — для проверки данных (Validation).
Читать дальше →
Total votes 16: ↑10 and ↓6 +4
Views5.3K
Comments 43

Фильтры: смерть регуляркам и правильная валидация

PHP
Фильтры данных впервые появились в PHP 5.0, и по какому-то стечению обстоятельств остались незамечеными большй частью кодеров. Наверное, это можно объяснить отсутствием чего-нибудь подобного в PHP4, а может просто мануал плохо читали. Я тоже узнал про них случайно… А ведь эта замечательная функция позволяет избавиться от запутаных, и подчас некорректных, регулярных выражений, при выполнении типичных задач.
Мануал по фильтрам находится здесь. Приведу только основную информацию и пару практичных примеров.
Читать дальше →
Total votes 161: ↑123 and ↓38 +85
Views23.3K
Comments 93

Валидация формы в Firefox 4, используя возможности HTML5

Website development
Translation
Спецификация HTML5 предоставляет нам несколько новых типов полей, атрибутов и других полезных функций для форм. Одна из наиболее интересных функций — это валидация формы со стороны браузера.

К сожалению еще не все браузеры поддерживают эти возможности и поэтому мы попытались сосредоточиться на использовании этих возможностей в Firefox 4.


Почему валидация формы со стороны браузера?


Идея валидации формы в HTML5 состоит в том, чтобы отказаться от использования JavaScript при проверке содержания полей: действительно ли этот адрес электронной почты допустим? заполнено ли это поле? соответствуют ли пароли? Раньше в большинстве случаев для этих целей использовался JavaScript. Вы можете написать свой собственный javascript-код или воспользоваться javascript-библиотекой, но это всегда будет повторной, скучной и подверженной ошибкам задачей. С формами, проверенными браузером, Вы больше не должны заботиться о этих задачах, достаточно записать простой HTML.
Читать дальше →
Total votes 59: ↑54 and ↓5 +49
Views5.4K
Comments 42

Элемент input в html 5, мультиаплоад

HTML
Sandbox
У элемента input в HTML 5 появился атрибут multiple, с помощью которого мы можем выбрать для загрузки несколько файлов. Этот атрибут принимает только одно значение «multiple», в живую будет выглядеть так:

<input type="file" multiple="multiple" name="files[]" />


Обратите внимание на name, мы явно в нем указали, что это массив.

Сразу появляется вопрос, какой браузер это новшество не понимает, ответ легко предсказуем, это семейство Internet Explorer. Начиная с 9 версии и ниже, они не поддерживают этот функционал и просто проигнорируют атрибут, искренне надеюсь что в финальной 10 версии они это поправят.
Кроме того что, мы дали пользователям загрузить сразу много файлов, мы должны позаботиться о них, и дать им возможность загрузит именно те файлы которые нам необходимы. И тут на помощь приходит еще один новый атрибут accept. Который принимает "MIME Media Types".

<input type="file" multiple="multiple" name="files[]" accept="image" />

Читать дальше →
Total votes 97: ↑94 and ↓3 +91
Views51.3K
Comments 36

Валидационные сообщения на русском в Rails 3

Ruby on Rails
Sandbox
Тема простая, но мне пришлось потратить некоторое время, прежде чем из разрозненных источников я понял, как наиболее быстро и просто получить сообщения об ошибках валидации на русском. Этот пост поможет сэкономить немного времени новичкам.
Читать дальше →
Total votes 37: ↑28 and ↓9 +19
Views9.5K
Comments 16

Валидаторы ввода под Android

Development for Android
Validation
Не так давно мне понадобилось добавить в андроид-приложение валидаторы для полей ввода (EditText), но ничего подходящего в сети не нашлось: пришлось писать свои собственные. Теперь, когда все готово, можно раздать результаты всем желающим под Apache лицензией и немного рассказать, как все устроено. Тех, кому интересно,
прошу под кат
Total votes 47: ↑41 and ↓6 +35
Views8.1K
Comments 11

Красивые подсказки для jQuery Validation с помощью qtip

JavaScript
Привет Хабр!
Хочу поделиться способом организации красивых подсказок для плагина валидации на jQuery. Для этих целей будем использовать еще один плагин создания красивых информационных сообщений — qtip.


Читать дальше →
Total votes 26: ↑7 and ↓19 -12
Views18.8K
Comments 5

Валидация за гранью фола

RubyRuby on Rails
Обычно, про валидацию в рельсах говорят только хорошее. Сегодня мы поговорим о некоторых ситуациях где система дает сбой.

Ситуация раз


При регистрации пользователя мы как обычно хотим сделать подтверждение пароля. Нет проблем, добавляем :confirmation => true. Через какое-то время у сайта появляется мобильное приложение, в котором тоже реализована регистрация, но подтверждения пароля там уже нет. Как поступить в этом случае?

решение под катом
Читать дальше →
Total votes 28: ↑23 and ↓5 +18
Views2.6K
Comments 17

Mailcheck.js — проверка емейла на опечатки

InterfacesUsability

jQuery плагин Mailcheck (github) — клиентсайд проверка емейла на опечатки по заранее определённму списку (к примеру, наиболее популярных почтовых сервисов).

Демка | сорсы демки (jsfiddle)


По заявлению (en) авторов (Kicksend), сей плагин увеличил кол-во подтверждений емейла при регистрации на 50%.

Под катом инструкция для кириллических доменов и алгоритмическая задачка
Total votes 75: ↑70 and ↓5 +65
Views3.5K
Comments 20

Исправление ошибок в больших формах

Interfaces
Translation
Представляю вам перевод статьи «Idea: Error-fields only» от Baymard Institute. В статье предложена идея, как можно улучшить процесс заполнения длинных форм.

Формы с полями, требующими правильного заполнения, ужасны. Представьте, вы только что закончили заполнять 20 полей, жмете «Отправить», а вам возвращается та же самая страница. И все только потому, что вы неправильно заполнили одно единственное поле.
Читать дальше →
Total votes 25: ↑22 and ↓3 +19
Views2.1K
Comments 27