Skip to content

Commit

Permalink
условия для валидации
Browse files Browse the repository at this point in the history
  • Loading branch information
mzhelskiy committed Mar 28, 2014
1 parent 8b74042 commit 1994917
Showing 1 changed file with 13 additions and 1 deletion.
14 changes: 13 additions & 1 deletion classes/modules/validate/entity/Validator.entity.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,13 @@ abstract class ModuleValidate_EntityValidator extends Entity {
* @var null|array
*/
public $on=null;
/**
* Условие срабатывания валидации
* Поддерживается только для валидации сущности, значение соответствует методу сущности, который будет вызван перед валидацией, если метод вернет false, то валидация будет пропущена
*
* @var null|string
*/
public $condition=null;
/**
* Объект текущей сущности, которая проходит валидацию
*
Expand Down Expand Up @@ -162,7 +169,12 @@ public function validateEntityField($oEntity,$sField) {
* Получаем значение поля у сущности через геттер
*/
$sValue=call_user_func_array(array($oEntity,'get'.func_camelize($sField)),array());

/**
* Если условие валидации возвращает false, то пропускаем валидацию
*/
if ($this->condition and method_exists($oEntity,$this->condition) and !call_user_func_array(array($oEntity,$this->condition),array())) {
return true;
}
if (($sMsg=$this->validate($sValue))!==true) {
/**
* Подставляем имя поля в сообщение об ошибке валидации
Expand Down

0 comments on commit 1994917

Please sign in to comment.