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 */