From 271a86aff3da39a457e3cd1b39ef665880483fc6 Mon Sep 17 00:00:00 2001 From: Luke Briner Date: Sun, 17 May 2015 13:21:29 +0100 Subject: [PATCH] Extend description Help users understand the concept of massive assignment without relying on the Guide by extending the description for this type. --- framework/validators/SafeValidator.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/framework/validators/SafeValidator.php b/framework/validators/SafeValidator.php index 846d63e68a..a7d31263ba 100644 --- a/framework/validators/SafeValidator.php +++ b/framework/validators/SafeValidator.php @@ -10,6 +10,14 @@ namespace yii\validators; /** * SafeValidator serves as a dummy validator whose main purpose is to mark the attributes to be safe for massive assignment. * + * This class is required because of the way in which Yii determines whether a property is safe for massive assignment, that is, + * when a user submits form data to be loaded into a model directly from the POST data, is it ok for a property to be copied. + * In many cases, this is required but because sometimes properties are internal and you do not want the POST data to be able to + * override these internal values (especially things like database row ids), Yii assumes all values are unsafe for massive assignment + * unless a rule exists for the property, which in most cases it will. Sometimes, however, an item is safe for massive assigment but + * does not have a rule associated with it - for instance, due to no validation being performed, in which case, you use this class + * as a rule for that property. Although it has no functionality, it allows Yii to determine that the property is safe to copy. + * * @author Qiang Xue * @since 2.0 */