Closed vjik closed 2 months ago
Q | A |
---|---|
Is bugfix? | ❌ |
New feature? | ❌ |
Breaks BC? | ❌ |
Fixed issues |
Attention: Patch coverage is 93.07832%
with 38 lines
in your changes are missing coverage. Please review.
Project coverage is 94.40%. Comparing base (
741d99a
) to head (4b33fd5
). Report is 3 commits behind head on master.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
.github/workflows/bc.yml
, the php
version was changed from 8.0
to 8.1
..github/workflows/bench.yml
, the php
version was changed from 8.0, 8.1
to just 8.1
..github/workflows/build.yml
, the php
version was changed from 8.0, 8.1, 8.2, 8.3
to 8.1, 8.2, 8.3
..github/workflows/composer-require-checker.yml
, the php
version was changed from 8.0, 8.1, 8.2, 8.3
to 8.1, 8.2, 8.3
..github/workflows/static.yml
, the php
version was changed from 8.0
to 8.1, 8.2, 8.3
.CHANGELOG.md
, several changes were documented, including adding new features, enhancing existing features, and fixing bugs.composer-require-checker.json
, the JetBrains\PhpStorm\Language
and json_validate
dependencies were added.composer.json
, the minimum required php
version was changed from 8.0
to 8.1
, and the vimeo/psalm
dependency version was changed from ^4.30|^5.22
to ^5.22
.docs/guide/en/client-side-validation.md
, the label for the length
rule was changed to Yiisoft\Validator\Rule\Length
.docs/guide/en/configuring-rules-via-php-attributes.md
, a new example was added to show how to specify a custom label for a property.docs/guide/en/creating-custom-rules.md
, the getName()
method was removed from the RgbColor
class.docs/guide/en/customizing-error-messages.md
, there were changes in the examples of custom error messages.docs/guide/en/using-validator.md
, the PersonRulesProvider
class was changed to a regular class instead of implementing RulesProviderInterface
.docs/guide/ru/README.md
, a new Russian translation of the guide was added.docs/guide/ru/conditional-validation.md
, a new guide was added about conditional validation.docs/guide/ru/README.md
, several new sections were added to the guide.docs/guide/ru/customizing-error-messages.md
, the translation of the error message was changed.docs/guide/ru/using-validator.md
, a new example was added to show how to use a custom "empty condition" callback.docs/guide/ru/conditional-validation.md
was added to the guide.docs/guide/ru/conditional-validation.md
, the new guide was added about conditional validation.docs/guide/ru/customizing-error-messages.md
, the translation of the error message was changed.docs/guide/ru/using-validator.md
, a new example was added to show how to use a custom "empty condition" callback.docs/guide/ru/
, composer-require-checker.json
, and composer.json
.docs/guide/ru/conditional-validation.md
was added to the guide.docs/guide/ru/conditional-validation.md
, the new guide was added about conditional validation.docs/guide/ru/customizing-error-messages.md
, the translation of the error message was changed.docs/guide/ru/using-validator.md
, a new example was added to show how to use a custom "empty condition" callback.docs/guide/ru/
, composer-require-checker.json
, and composer.json
.
customizing-error-messages.md
in the docs/guide/ru/
directory, which contains information about customizing error messages in the framework.result.md
in the docs/guide/ru/
directory, which contains information about the result of validation, including checking the validation status, retrieving error messages, and filtering errors.using-validator.md
in the docs/guide/ru/
directory, which contains information about using the validator to validate data in different formats.infection.json.dist
file to ignore specific lines of code during mutation testing.NullAttributeTranslator
class to exclude them from mutation testing.
yii-validator.php
under messages/de/
, the following changes were made:AtLeast
, BooleanValue
, Count
, Each
, Email
, In
, Ip
, Integer
, Json
, Length
, Nested
, Number
, OneOf
, Regex
, Required
, Subset
, TrueValue
, and Url
.yii-validator.php
under messages/pl/
, the following changes were made:AtLeast
, BooleanValue
, Count
, Each
, Email
, In
, Ip
, Integer
, Json
, Length
, Nested
, Number
, OneOf
, Regex
, Required
, Subset
, TrueValue
, and Url
.
messages/ru/yii-validator.php
file include:'The data must have at least "{min}" filled attributes.'
was changed to 'At least {min, number} {min, plural, one{attribute} other{attributes}} from this list must be filled'
'Value must be either "{true}" or "{false}".'
was changed to '"{Attribute}" must be either "{true}" or "{false}".'
'This value must be an array or implement \Countable interface.'
was changed to '"{Attribute}" must be an array or implement \Countable interface.'
'This value must contain at least {min, number} {min, plural, one{item} other{items}}.'
was changed to '"{Attribute}" must contain at least {min, number} {min, plural, one{item} other{items}}.'
'This value must contain at most {max, number} {max, plural, one{item} other{items}}.'
was changed to '"{Attribute}" must contain at most {max, number} {max, plural, one{item} other{items}}.'
'This value must contain exactly {exactly, number} {exactly, plural, one{item} other{items}}.'
was changed to '"{Attribute}" must contain exactly {exactly, number} {exactly, plural, one{item} other{items}}.'
'Value must be array or iterable.'
was changed to '"{Attribute}" must be array or iterable.'
'This value is not a valid email address.'
was changed to '"{Attribute}" is not a valid email address.'
'This value is not in the list of acceptable values.'
was changed to '"{Attribute}" is not in the list of acceptable values.'
'Must be a valid IP address.'
was changed to '"{Attribute}" must be a valid IP address.'
'Must not be an IPv4 address.'
was changed to '"{Attribute}" must not be an IPv4 address.'
'Must not be an IPv6 address.'
was changed to '"{Attribute}" must not be an IPv6 address.'
'Contains wrong subnet mask.'
was changed to '"{Attribute}" contains wrong subnet mask.'
'Must be an IP address with specified subnet.'
was changed to '"{Attribute}" must be an IP address with specified subnet.'
'Must not be a subnet.'
was changed to '"{Attribute}" must not be a subnet.'
'Is not in the allowed range.'
was changed to '"{Attribute}" is not in the allowed range.'
'Value must be an integer.'
was changed to '"{Attribute}" must be an integer.'
'The value is not JSON.'
was changed to '"{Attribute}" is not JSON.'
'This value must contain at least {min, number} {min, plural, one{character} other{characters}}.'
was changed to '"{Attribute}" must contain at least {min, number} {min, plural, one{character} other{characters}}.'
'This value must contain at most {max, number} {max, plural, one{character} other{characters}}.'
was changed to '"{Attribute}" must contain at most {max, number} {max, plural, one{character} other{characters}}.'
'This value must contain exactly {exactly, number} {exactly, plural, one{character} other{characters}}.'
was changed to '"{Attribute}" must contain exactly {exactly, number} {exactly, plural, one{character} other{characters}}.'
'The value must be an array or an object.'
was changed to '"{Attribute}" must be an array or an object.'
'The value must be "{true}".'
was changed to '"{Attribute}" must be "{true}".'
'This value is not a valid URL.'
was changed to '"{Attribute}" is not a valid URL.'
messages/uz/yii-validator.php
has the same changes as messages/ru/yii-validator.php
psalm80.xml
was deleted.LabelsProviderInterface
which provides data attribute labels.RuleWithOptionsInterface
to DumpedRuleInterface
.Label
class to parse labels specified via Label
attributes.ObjectDataSet
to implement LabelsProviderInterface
and added getValidationPropertyLabels
method.ObjectParser
to parse labels specified via Label
attributes.RulesDumper
to handle DumpedRuleInterface
and dump rule options and name.DumpedRuleInterface
and define rule name.LabelsProviderInterface
to provide a set of attribute labels.Result
class to improve error messages.
Note: The diff includes multiple changes to different files, so the summary includes all the changes.
Count
class in the file src/Rule/Count.php
now implements the DumpedRuleInterface
interface.CountHandler.php
file was added.DateTime
class was added to the file src/Rule/DateTime.php
.DateTimeHandler.php
file was added.Each
class in the file src/Rule/Each.php
now implements the DumpedRuleInterface
interface.EachHandler.php
file was added.Email
class in the file src/Rule/Email.php
now implements the DumpedRuleInterface
interface.EmailHandler.php
file was added.Equal
class in the file src/Rule/Equal.php
no longer implements the getName
method.GreaterThan
class in the file src/Rule/GreaterThan.php
no longer implements the getName
method.GreaterThanOrEqual
class in the file src/Rule/GreaterThanOrEqual.php
no longer implements the getName
method.Image
class in the file src/Rule/Image/Image.php
now implements the DumpedRuleInterface
interface.In
class in the file src/Rule/In.php
now implements the DumpedRuleInterface
interface.InHandler.php
file was added.Integer
class in the file src/Rule/Integer.php
no longer implements the getName
method.Ip
class in the file src/Rule/Ip.php
now implements the DumpedRuleInterface
interface.IpHandler.php
file was added.validate
method in the EmailHandler.php
now has an additional parameter $context
which is used to capitalize the Attribute
placeholder in error messages.validate
method in the IpHandler.php
now has an additional parameter $context
which is used to capitalize the Attribute
placeholder in error messages.
Notes:
Count.php
, Each.php
, Email.php
, and Ip.php
are related to implementing the DumpedRuleInterface
interface. The interface is used to mark rule classes that can be serialized/deserialized.DumpedRuleInterface
to the following classes: Rule\Json
Rule\Length
Rule\Nested
Rule\OneOf
Rule\Regex
Rule\Required
Rule\Json
:$incorrectInputMessage
and $message
properties.getName()
method to return self::class
instead of 'json'
.Rule\JsonHandler
:use
statement for the function_exists()
function.isValidJson()
method to use the json_validate()
function if it exists.Rule\Length
:$incorrectInputMessage
, $lessThanMinMessage
, $greaterThanMaxMessage
, and $notExactlyMessage
properties.getName()
method to return self::class
instead of 'length'
.Rule\LengthHandler
:Rule\Nested
:DumpedRuleInterface
to the class.$incorrectInputMessage
, $noPropertyPathMessage
, and $noRulesWithNoObjectMessage
properties.getName()
method to return self::class
instead of 'nested'
.Rule\NestedHandler
:Rule\Number
:$incorrectInputMessage
, $notNumberMessage
, $lessThanMinMessage
, and $greaterThanMaxMessage
properties.getName()
method to return self::class
instead of 'number'
.Rule\NumberHandler
:Rule\OneOf
:DumpedRuleInterface
to the class.$incorrectInputMessage
and $message
properties.getName()
method to return self::class
instead of 'oneOf'
.Rule\OneOfHandler
:Rule\Regex
:DumpedRuleInterface
to the class.$incorrectInputMessage
and $message
properties.getName()
method to return self::class
instead of 'regex'
.Rule\RegexHandler
:Rule\Required
:DumpedRuleInterface
to the class.$message
and $notPassedMessage
properties.getName()
method to return self::class
instead of 'required'
.getRequiredCondition()
method to return $emptyCondition
if it is callable, otherwise it returns an internal function.
RequiredHandler.php
file was changed.
Inside the validate
method:addError
method,'Attribute' => $context->getCapitalizedTranslatedAttribute()
.addError
method, 'Attribute' => $context->getCapitalizedTranslatedAttribute()
.StopOnError.php
file was changed. RuleWithOptionsInterface
import was changed to DumpedRuleInterface
.RuleWithOptionsInterface
usage was changed to DumpedRuleInterface
.StringValue.php
file was changed. RuleWithOptionsInterface
import was changed to DumpedRuleInterface
.RuleWithOptionsInterface
usage was changed to DumpedRuleInterface
.message
property was changed to use a placeholder for {Attribute}
.StringValueHandler.php
file was changed.addError
method, 'Attribute' => $context->getCapitalizedTranslatedAttribute()
.Subset.php
file was changed.RuleWithOptionsInterface
import was changed to DumpedRuleInterface
.SubsetHandler.php
file was changed.addError
method, 'Attribute' => $context->getCapitalizedTranslatedAttribute()
.CountableLimitHandlerTrait.php
file was changed.addError
method, 'Attribute' => $context->getCapitalizedTranslatedAttribute()
.addError
method, 'Attribute' => $context->getCapitalizedTranslatedAttribute()
.CountableLimitTrait.php
file was changed.RuleWithOptionsInterface
import was changed to DumpedRuleInterface
.SkipOnEmptyTrait.php
file was changed.RuleWithOptionsInterface
import was changed to DumpedRuleInterface
.TranslatedAttributesHandlerTrait.php
was added.TrueValue.php
file was changed.RuleWithOptionsInterface
import was changed to DumpedRuleInterface
.RuleWithOptionsInterface
usage was changed to DumpedRuleInterface
.message
property was changed to use a placeholder for {Attribute}
.TrueValueHandler.php
file was changed.addError
method, 'Attribute' => $context->getCapitalizedTranslatedAttribute()
.Url.php
file was changed.RuleWithOptionsInterface
import was changed to DumpedRuleInterface
.RuleWithOptionsInterface
usage was changed to DumpedRuleInterface
.incorrectInputMessage
property was changed to use a placeholder for {Attribute}
.message
property was changed to use a placeholder for {Attribute}
.UrlHandler.php
file was changed.addError
method, 'Attribute' => $context->getCapitalizedTranslatedAttribute()
.RuleInterface.php
file was changed.getName
method was removed.ValidationContext.php
file was changed.$attributeLabel
was added.setAttributeLabel
was added.getAttributeLabel
was added.getTranslatedAttribute
method now returns a non-null string instead of a nullable string.getCapitalizedTranslatedAttribute
was added.Validator.php
file was changed.validate
method now sets the attribute label from the data set if it is available.ConfigTest.php
file was changed.{Attribute}
.ObjectDataSetTest.php
file was changed.getValidationPropertyLabels
method was added.hasAttribute
was updated.ObjectWithLabelsProvider
file was added.
tests/Helper/ObjectParserTest.php
, the changes include adding and modifying assertions related to the cache
and labels
properties.tests/Helper/RulesDumperTest.php
, a new test case was added with a new StubDumpedRule
class.tests/Helper/RulesNormalizerTest.php
, changes were made to dataNormalize()
and dataNormalizeList()
.tests/Rule/AtLeastTest.php
, a new test case was added to check if $min
is greater than the number of attributes.tests/Rule/Base/RuleWithOptionsTestTrait.php
, RuleWithOptionsInterface
was replaced with DumpedRuleInterface
.tests/Rule/Base/RuleWithProvidedRulesTrait.php
, RuleWithOptionsInterface
was replaced with DumpedRuleInterface
.tests/Rule/BooleanValueTest.php
, changed the getName()
method to return BooleanValue::class
instead of 'boolean'
.tests/Rule/CallbackTest.php
, changed the getName()
method to return Callback::class
instead of 'callback'
.
CompareTest.php
file was modified. The following changes were made:$rule->getName()
from 'compare'
to Compare::class
.'message'
array in the dataOptions()
method from 'Value must be equal to "{targetValueOrAttribute}".'
to '{Attribute} must be equal to "{targetValueOrAttribute}".'
.'message'
array in the dataOptions()
method from 'Value must be equal to "{targetValueOrAttribute}".'
to '{Attribute} must be equal to "{targetValueOrAttribute}".'
.'custom incorrect input message with parameters'
test case from 'Attribute - '
to 'Attribute - value'
.'custom greater than max message with parameters'
test case from 'Attribute - '
to 'Attribute - value'
.'custom message with parameters, capitalized attribute and target attribute set'
test case from 'Attribute - '
to 'Attribute - Number'
.CompositeTest.php
file was modified. The following changes were made:$rule->getName()
from 'composite'
to Composite::class
.'number'
rule in the 'rules'
array from 'Number'
to Number::class
.'number'
rule in the 'rules'
array from 'Number'
to Number::class
.'number'
rule in the 'rules'
array from 'Number'
to Number::class
.'number'
rule in the 'rules'
array from 'Number'
to Number::class
.'number'
rule in the 'rules'
array from 'Number'
to Number::class
.'test'
rule in the 'rules'
array from 'Test'
to RuleWithoutOptions::class
.'callback'
rule in the 'rules'
array from 'Callback'
to Callback::class
.'required'
rule in the 'rules'
array from 'Required'
to Required::class
.'callback'
rule in the 'rules'
array from 'Callback'
to Callback::class
.'class attribute'
test case with a new 'rules'
array.CountTest.php
file was modified. The following changes were made:$rule->getName()
from 'count'
to Count::class
.'lessThanMinMessage'
array in the dataOptions()
method to use the {min, plural, one{item} other{items}}
format.'greaterThanMaxMessage'
array in the dataOptions()
method to use the {max, plural, one{item} other{items}}
format.'notExactlyMessage'
array in the dataOptions()
method to use the {exactly, plural, one{item} other{items}}
format.'lessThanMinMessage'
array in the dataOptions()
method to use the {min, number}
format.'notExactlyMessage'
array in the dataOptions()
method to use the {exactly, number}
format.'notExactlyMessage'
array in the dataOptions()
method to use the {exactly, number}
format.'custom less than min message with parameters'
test case to use 'Attribute - {Attribute}, attribute - {attribute}, type - {type}.'
as the incorrect input message.'custom less than min message with parameters, attribute set'
test case to use 'Attribute - {Attribute}, attribute - {attribute}, type - {type}.'
as the incorrect input message.'less than min message with parameters'
array in the dataValidationFailedLessThanMinWithParameters()
method to use 'Attribute - {Attribute}, attribute - {attribute}, number - {number}.'
as the message template.'greater than max message with parameters'
test case to use 'Attribute - {Attribute}, attribute - {attribute}, number - {number}.'
as the message template.'greater than max message with parameters, attribute set'
test case to use 'Attribute - {Attribute}, attribute - {attribute}, number - {number}.'
as the message template.DateTimeTest.php
was added. This file contains tests for the DateTime
rule.InvalidArgumentException
to the use
statements.DateTime
rule with different configurations and inputs.EachTest.php
, a new import statement was added for the class Yiisoft\Validator\Rule\StringValue
.EachTest.php
, the method testGetName()
was modified to assert that the name of the rule instance is now Each::class
instead of 'each'
.EachTest.php
, the dataOptions()
method was modified to update the incorrect input message template for the rule.EachTest.php
, the dataValidationFailed()
method was modified to update the expected error messages for the rule.EachTest.php
, a new test method testContextEachKey()
was added to test the context each key parameter.EmailTest.php
, the method testGetName()
was modified to assert that the name of the rule instance is now Email::class
instead of 'email'
.EmailTest.php
, the dataOptions()
method was modified to update the incorrect input message template for the rule.EmailTest.php
, the dataValidationFailed()
method was modified to update the expected error messages for the rule.EqualTest.php
, the method testGetName()
was modified to assert that the name of the rule instance is now Equal::class
instead of 'equal'
.EqualTest.php
, the dataOptions()
method was modified to update the message template for the rule.GreaterThanOrEqualTest.php
, the method testGetName()
was modified to assert that the name of the rule instance is now GreaterThanOrEqual::class
instead of 'greaterThanOrEqual'
.GreaterThanOrEqualTest.php
, the dataOptions()
method was modified to update the message template for the rule.GreaterThanTest.php
, the method testGetName()
was modified to assert that the name of the rule instance is now GreaterThan::class
instead of 'greaterThan'
.GreaterThanTest.php
, the dataOptions()
method was modified to update the message template for the rule.InTest.php
, the method testGetName()
was modified to assert that the name of the rule instance is now In::class
instead of 'inRange'
.InTest.php
, the dataOptions()
method was modified to update the message template for the rule.JsonTest.php
, the method testGetName()
was modified to assert that the name of the rule instance is now Json::class
instead of 'json'
.JsonTest.php
, the dataOptions()
method was modified to update the incorrect input message template for the rule.JsonTest.php
, the dataValidationFailed()
method was modified to update the expected error messages for the rule.
tests/Rule/LengthTest.php
:use Yiisoft\Validator\Tests\Rule\Base\DifferentRuleInHandlerTestTrait;
testGetName
method to assert that the getName()
method returns Length::class
dataOptions
method to change the following template strings:
'This value must contain at least {min, number} {min, plural, one{character} other{characters}}.'
-> '{Attribute} must contain at least {min, number} {min, plural, one{character} other{characters}}.'
'This value must contain at most {max, number} {max, plural, one{character} other{characters}}.'
-> '{Attribute} must contain at most {max, number} {max, plural, one{character} other{characters}}.'
'This value must contain exactly {exactly, number} {exactly, plural, one{character} other{characters}}.'
-> '{Attribute} must contain exactly {exactly, number} {exactly, plural, one{character} other{characters}}.'
'The value must be a string.'
-> '{Attribute} must be a string.'
dataValidationPassed
method to use different values for testingdataValidationFailed
method to change the following template strings:
'The value must be a string.'
-> 'Value must be a string.'
'This value must contain at least 10 characters.'
-> 'Value must contain at least 10 characters.'
'Min - {min}, attribute - {Attribute}, number - {number}.'
-> 'Min - {min}, attribute - {Attribute}, number - {number}.'
'Max - {max}, attribute - {attribute}, number - {number}.'
-> 'Max - {max}, attribute - {attribute}, number - {number}.'
'Exactly - {exactly}, attribute - {attribute}, number - {number}.'
-> 'Exactly - {exactly}, attribute - {Attribute}, number - {number}.'
testIntegerEmptyPattern
method to change the assertion message template string 'Value must be empty.'
-> '{Attribute} must be empty.'
tests/Rule/LessThanOrEqualTest.php
, modified the testGetName
method to assert that the getName()
method returns LessThanOrEqual::class
.tests/Rule/LessThanTest.php
, modified the testGetName
method to assert that the getName()
method returns LessThan::class
.tests/Rule/NotEqualTest.php
, modified the testGetName
method to assert that the getName()
method returns NotEqual::class
.tests/Rule/NumberTest.php
:testGetName
method to assert that the getName()
method returns Number::class
.dataOptions
method to change the following template strings:
'Value must be a number.'
-> '{Attribute} must be a number.'
'Value must be no less than {min}.'
-> '{Attribute} must be no less than {min}.'
'Value must be no greater than {max}.'
-> '{Attribute} must be no greater than {max}.'
'Value must be a number.'
-> '{Attribute} must be a number.'
'Value must be no less than {min}.'
-> '{Attribute} must be no less than {min}.'
'Value must be no greater than {max}.'
-> '{Attribute} must be no greater than {max}.'
tests/Rule/OneOfTest.php
:testGetName
method to assert that the getName()
method returns OneOf::class
.dataOptions
method to change the following template strings:
'The value must be an array or an object.'
-> '{Attribute} must be an array or an object.'
'The data must have at least 1 filled attribute.'
-> 'Exactly 1 attribute from this list must be filled: {attributes}.'
dataValidationFailed
method to change the following template strings:
'The value must be an array or an object.'
-> 'Value must be an array or an object.'
'Attribute - {attribute}, type - {type}.'
-> 'Attribute - {attribute}, type - {Type}.'
'Attribute - {attribute}.'
-> 'Attributes - {attributes}.'
dataValidationFailed
method to change the assertion message template string 'The data must have at least 1 filled attribute.'
-> 'Exactly 1 attribute from this list must be filled: {attributes}.'
tests/Rule/RegexTest.php
, the Regex::getName()
method now returns Regex::class
. The incorrectInputMessage
and message
properties have been updated to use placeholders {Attribute}
in their templates.tests/Rule/RequiredTest.php
, the Required::getName()
method now returns Required::class
. The message
property has been updated to use the placeholder {Attribute}
in its template. The notPassedMessage
property has been renamed to getNotPassedMessage()
. The EmptyCondition\WhenNull
import has been moved to directly below the RequiredHandler
import.tests/Rule/RuleWithBuiltInHandler.php
, the getName()
method has been removed.tests/Rule/StopOnErrorTest.php
, the StopOnError::getName()
method now returns StopOnError::class
. The message
property has been updated to use the placeholder {Attribute}
in its template.tests/Rule/StringValueTest.php
, the StringValue::getName()
method now returns StringValue::class
. The message
property has been updated to use the placeholder {Attribute}
in its template.tests/Rule/SubsetTest.php
, the Subset::getName()
method now returns Subset::class
. The incorrectInputMessage
and message
properties have been updated to use placeholders {Attribute}
in their templates.tests/Rule/TrueValueTest.php
, the TrueValue::getName()
method now returns TrueValue::class
. The message
and incorrectInputMessage
properties have been updated to use placeholders {Attribute}
in their templates.
tests/Rule/UrlTest.php
had several changes. $this->assertSame('url', $rule->getName());
was changed to $this->assertSame(Url::class, $rule->getName());
.'The value must be a string.'
and 'This value is not a valid URL.'
to 'Value must be a string.'
and 'Value is not a valid URL.'
.['' => ['The value must be a string.']]
was changed to ['' => ['Value must be a string.']]
.['' => ['This value is not a valid URL.']]
was changed to ['' => ['Value is not a valid URL.']]
.tests/Support/Data/AtLeastDto.php
had several changes. AttributeTranslatorProviderInterface
.getAttributeLabels()
method that returns an array of attribute labels.getAttributeTranslator()
method that returns an instance of ArrayAttributeTranslator
using the attribute labels.tests/Support/Data/ObjectForTestingCache1.php
had several changes. #[Label('d')]
attribute above the private property $c
.tests/Support/Data/ObjectForTestingDisabledCache.php
had several changes. #[Label('label')]
attribute above the private property $c
.tests/Support/Data/ObjectWithLabelsProvider.php
is a new file that was added.tests/Support/Data/OneOfDto.php
had several changes. AttributeTranslatorProviderInterface
.getAttributeLabels()
method that returns an array of attribute labels.getAttributeTranslator()
method that returns an instance of ArrayAttributeTranslator
using the attribute labels.tests/Support/Rule/CustomUrlRuleSet.php
had several changes. getName()
method from the class.tests/Support/Rule/NotNullRule/NotNull.php
had a change. getName()
method from the class.tests/Support/Rule/RuleWithCustomHandler.php
had a change. getName()
method from the class.tests/Support/Rule/RuleWithoutOptions.php
had a change. getName()
method from the class.tests/Support/Rule/StubRule/StubRuleWithOptions.php
was renamed to tests/Support/Rule/StubRule/StubDumpedRule.php
.tests/TestEnvironments/Php81/Rule/NestedTest.php
had several changes. 'object.number'
from 'Value must be no greater than 7.'
to 'Number must be no greater than 7.'
.tests/ValidationContextTest.php
had several changes. testSetAttributeLabel()
method that tests the setAttributeLabel()
method on the ValidationContext
class.testSetAttributeLabelWithTranslator()
method that tests the setAttributeLabel()
method with an AttributeTranslator
on the ValidationContext
class.