Конфигурирование symfony
|
|
Валидация
Список стандартных валидаторов
* sfStringValidator
* sfNumberValidator
* sfEmailValidator
* sfUrlValidator
* sfRegexValidator
* sfCompareValidator
* sfPropelUniqueValidator
* sfFileValidator
* sfCallbackValidator
Пример
modules/contact/validate/send.yml
fields:
name:
required:
msg: The name field cannot be left blank
sfStringValidator:
min: 2
min_error: This name is too short (2 characters minimum)
max: 100
max_error: This name is too long. (100 characters maximum)
валидируем дату
publication[start_time]:
sfDateValidator:
min: 10.10.1900
max: 15.10.2100
date_error: Неправильно введена дата !
валидируем файл
tmppublication[photo_path]:
file: True
sfFileValidator:
mime_types:
- 'image/jpeg'
- 'image/png'
- 'image/x-png'
- 'image/pjpeg'
mime_types_error: Загружаемый файл должен быть графическим!
max_size: 500000
max_size_error: Максимальный размер изображения 500 Кб
проверяем уникальность поля
sf_guard_user[username]:
sfPropelUniqueValidator:
class: Profile
column: nickname
unique_error: Такой логин уже существует в системе!
проверяем captcha
captcha:
required:
msg: Не введена защитная стока!
captchaValidator:
class: captchaValidator
param:
error: Неправильно введена защитная строка!
проверяем email
email:
sfEmailValidator:
strict: true
email_error: Неправильно введен E-mail!
Собственный валидатор
apps/lib/myTools.php
class myTools
{
public static function validateThemeCount()
{
if(count(sfContext::getInstance()->getRequest()->getParameter('associated_tmprelpublications[]'))>4)
{
return false;
}
else
{
return true;
}
}
}
YML
field_name:
sfCallbackValidator:
callback: [myTools, validateThemeCount]
invalid_error: Выбрать можно не более 4 тем!.
|
2 сентября 2008 г. |
|