injun #576871
injun

Главная > Валидация параметров в ColdFusion 9

 

 

Валидация параметров в ColdFusion 9

Валидация параметров в ColdFusion 9

Увидел у Рупеша Кумара интереснейший пост о валидации параметров в ColdFusion 9. Речь вот о чём: когда вы создаёте компонент со свойствами, вы можете устроить проверку параметру. Вот смотрите:

/**
 * @accessors true
 */
Component Person{
    property firstname;
    property lastname;
    property age;
    property city;
    property state;
}

Затем, пользуясь сеттерами и геттерами вы задаёте или получаете значение параметра:

<cfscript>
    person = new Person();
    person.setFirstName("Вася");
    person.setLastName("Пупкин");
    person.setAge(18);

    writeOutput("Имя : #person.getFirstName()# #person.getLastName()#");
    writeOutput("Возраст : #person.getAge()#");
</cfscript>

Как правило, разработчики явно указывают тип параметра – будь-то строка, массив, структура, запрос и т.п., так вот, теперь появились очень нужных параметра для параметра – validate и validateparams, допустимыми значениями для которых являются:

  • string
  • boolean
  • integer
  • numeric
  • date
  • time
  • creditcard (от 13-16 цифр)
  • email
  • eurodate (дата в европейском формате – дд/мм/гггг)
  • regex
  • ssn (номер американского социального страхования)
  • telephone (стандартный американский телефонный номер)
  • UUID
  • guid
  • zipcode (американский пяти- или девяти-цифирный код)

В атрибуте validateparams необходимо задавать значения для значений, заданных в validate:

  • min: минимальное значение, если задан integer / numeric
  • max: максимальное значение, если задан integer / numeric
  • minLength: минимальная длина для строкового значения
  • maxLength: максимальная длина для строкового значения
  • pattern: собственно само регулярное выражение

Вот пример:

/**
 * @accessors true
 */
Component Person{
    property string firstname;
    property string lastname;
    property numeric age;
    property string city;
    /**
     * @validate string
     * @validateparams {minLength=2, maxLength=2}
     */
    property string state;
    /**
     * @validate zipcode
     */
    property numeric zip;
    /**
     * @validate telephone
     */
    proeprty phone;
}

Представляете какие открываются перед вами возможности? Хм… я так вообще тащусь! 

Спонсор поста: Интернет магазин Салон Света предлагает: настенные светильники, люстры, бра оптом и в розницу.

Похожие сообщения

 

Написано Сентябрь 24, 2009


Комментарии

— 25 Сен 2009 в 10:25 ∞ Sergii Galashyn
Удивляюсь, что джависты их не напинали сделать все эти bean-фичи еще в 8-ке.

— 25 Сен 2009 в 11:10 ∞ injun #576871
@Sergii Galashyn: они в девятке очень много чего из java взяли… Значит напинали всё же

 

injun

О блоге

Сайт создан в 2006 г. © injun.ru | Seoded.ru — Создание сайта