Browse Source

`ActiveForm::$validationStateOn` restored

tags/3.0.0-alpha1
Paul Klimov 7 years ago
parent
commit
b44a461c2e
  1. 2
      framework/jquery/ActiveFormClientScript.php
  2. 17
      framework/widgets/ActiveForm.php
  3. 3
      tests/framework/widgets/ActiveFormTest.php

2
framework/jquery/ActiveFormClientScript.php

@ -9,6 +9,7 @@ namespace yii\jquery;
use Yii;
use yii\helpers\Json;
use yii\widgets\ActiveForm;
/**
* ActiveFormClientScript is a behavior for [[\yii\widgets\ActiveForm]], which allows composition
@ -108,6 +109,7 @@ class ActiveFormClientScript extends \yii\widgets\ActiveFormClientScript
'ajaxDataType' => 'json',
'scrollToError' => true,
'scrollToErrorOffset' => 0,
'validationStateOn' => ActiveForm::VALIDATION_STATE_ON_CONTAINER,
]);
}
}

17
framework/widgets/ActiveForm.php

@ -27,6 +27,16 @@ use yii\helpers\Url;
class ActiveForm extends Widget
{
/**
* Add validation state class to container tag
* @since 2.0.14
*/
const VALIDATION_STATE_ON_CONTAINER = 'container';
/**
* Add validation state class to input tag
* @since 2.0.14
*/
const VALIDATION_STATE_ON_INPUT = 'input';
/**
* @event ActiveFieldEvent an event raised right before rendering an ActiveField.
* @since 2.1.0
*/
@ -108,6 +118,13 @@ class ActiveForm extends Widget
*/
public $validatingCssClass = 'validating';
/**
* @var string where to render validation state class
* Could be either "container" or "input".
* Default is "container".
* @since 2.0.14
*/
public $validationStateOn = self::VALIDATION_STATE_ON_CONTAINER;
/**
* @var bool whether to enable client-side data validation.
* If [[ActiveField::enableClientValidation]] is set, its value will take precedence for that input field.
*/

3
tests/framework/widgets/ActiveFormTest.php

@ -114,6 +114,7 @@ HTML
public function testShouldTriggerInitEvent()
{
$initTriggered = false;
ob_start();
$form = ActiveForm::begin(
[
'action' => '/something',
@ -123,6 +124,7 @@ HTML
]
);
ActiveForm::end();
ob_end_clean();
$this->assertTrue($initTriggered);
}
@ -136,7 +138,6 @@ HTML
ob_start();
$form = ActiveForm::begin([
'action' => '/something',
'enableClientScript' => false,
'validationStateOn' => ActiveForm::VALIDATION_STATE_ON_INPUT,
]);
ActiveForm::end();

Loading…
Cancel
Save