yiisoft / validator

Yii validator library
https://www.yiiframework.com/
BSD 3-Clause "New" or "Revised" License
110 stars 36 forks source link

StopOnError is not work in static function context #706

Closed hiscaler closed 1 month ago

hiscaler commented 1 month ago

What steps will reproduce the problem?

new StopOnError([
    new Required(),
    static function (mixed $value, Callback $rule, ValidationContext $context) {
        $id = $context->getDataSet()->getAttributeValue('product_id'); // $id is null
    }
])

can't get product_id value

What is the expected result?

Get product_id value

What do you get instead?

Remove StopOnError

vjik commented 1 month ago

In this case scope will be property value that validated by StopOnError. Use $context->getGlobalDataSet() to access all data.