mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-02 21:41:19 +08:00
@ -44,9 +44,10 @@ Yii Framework 2 Change Log
|
||||
- Bug #12537: Fixes issues with spaces in `StringHelper:truncateHtml` (Alex-Code)
|
||||
- Bug #12554: Fixed `yii\validators\UniqueValidator` error of getting first model indexed by field (DrDeath72)
|
||||
- Bug #12599: Fixed casting of `binary()` type for MSSQL (silverfire)
|
||||
- Bug #12605: Make 'safe' validator work on write-only properties (arthibald, CeBe)
|
||||
- Bug #12629: Fixed `yii\widgets\ActiveField::widget()` to call `adjustLabelFor()` for `InputWidget` descendants (coderlex)
|
||||
- Bug #12649: Fixed consistency of `indexBy` handling for `yii\db\Query::column()` (silverfire)
|
||||
- Enh #384: Added ability to run migration from several locations via `yii\console\controllers\BaseMigrateController::migrationNamespaces` (klimov-paul)
|
||||
- Enh #384: Added ability to run migration from several locations via `yii\console\controllers\BaseMigrateController::$migrationNamespaces` (klimov-paul)
|
||||
- Enh #6996: Added `yii\web\MultipartFormDataParser`, which allows proper processing of 'multipart/form-data' encoded non POST requests (klimov-paul)
|
||||
- Enh #8719: Add support for HTML5 attributes on submitbutton (formaction/formmethod...) for ActiveForm (VirtualRJ)
|
||||
- Enh #9469: Added support for namespaced migrations via `yii\console\controllers\BaseMigrateController::migrationNamespaces` (klimov-paul)
|
||||
|
||||
@ -23,6 +23,13 @@ namespace yii\validators;
|
||||
*/
|
||||
class SafeValidator extends Validator
|
||||
{
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function validateAttributes($model, $attributes = null)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
|
||||
@ -398,6 +398,20 @@ class ModelTest extends TestCase
|
||||
$invalid = new InvalidRulesModel();
|
||||
$invalid->createValidators();
|
||||
}
|
||||
|
||||
/**
|
||||
* Ensure 'safe' validator works for write-only properties.
|
||||
* Normal validator can not work here though.
|
||||
*/
|
||||
public function testValidateWriteOnly()
|
||||
{
|
||||
$model = new WriteOnlyModel();
|
||||
|
||||
$model->setAttributes(['password' => 'test'], true);
|
||||
$this->assertEquals('test', $model->passwordHash);
|
||||
|
||||
$this->assertTrue($model->validate());
|
||||
}
|
||||
}
|
||||
|
||||
class ComplexModel1 extends Model
|
||||
@ -423,3 +437,20 @@ class ComplexModel2 extends Model
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
class WriteOnlyModel extends Model
|
||||
{
|
||||
public $passwordHash;
|
||||
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
[['password'],'safe'],
|
||||
];
|
||||
}
|
||||
|
||||
public function setPassword($pw)
|
||||
{
|
||||
$this->passwordHash = $pw;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user