salog
(Alesmaer)
October 23, 2010, 3:14pm
1
Как я понимаю, safe атрибут - это атрибут, который сохраняет свое значение при перезагрузке формы.
Присвоение safe атрибута производится описанием валидатора safe:
public function rules()
{
return array(
array('aaa,bbb,ccc','safe'),
);
}
Но у меня в форме много полей. Вопрос, как мне ВСЕ поля сделать safe не перечисляя их?
А еще лучше, сделать все поля safe, исключая некоторые.
andy_s
(Arekandrei)
October 23, 2010, 7:29pm
2
safe атрибуты - это атрибуты, которым будут присвоены значения в результате выполнения такой операции:
$model->attributes = $_POST['ModelName'];
Имена всех атрибутов таблицы можно выцепить отсюда: http://www.yiiframework.com/doc/api/1.1/CActiveRecord#metaData-detail и объявить их в методе rules() как safe. Если хочется исключить некоторые, то есть валидатор unsafe.
Вообще, обычно для многих атрибутов устанавливается какие-то правила валидации (length, match, date и т.д.). В этом случае они будут автоматически безопасными.