Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit24d8f34

Browse files
committed
[Validator] Add docs for number constraints
* Positive constraint* PositiveOrZero constraint* Negative constraint
1 parentcd5c7eb commit24d8f34

File tree

4 files changed

+244
-0
lines changed

4 files changed

+244
-0
lines changed

‎reference/constraints/Negative.rst‎

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
Negative
2+
========
3+
4+
Validates that a value is a negative number. To force that a value is a negative
5+
number or equal to zero, see:doc:`/reference/constraints/NegativeOrZero`.
6+
To force a value is positive, see:doc:`/reference/constraints/Positive`.
7+
8+
========== ===================================================================
9+
Applies to:ref:`property or method<validation-property-target>`
10+
Options - `groups`_
11+
- `message`_
12+
- `payload`_
13+
Class:class:`Symfony\\Component\\Validator\\Constraints\\Negative`
14+
Validator:class:`Symfony\\Component\\Validator\\Constraints\\LesserThanValidator`
15+
========== ===================================================================
16+
17+
Basic Usage
18+
-----------
19+
20+
The following constraints ensure that:
21+
22+
* the ``withdraw`` of a bankaccount ``TransferItem`` is a negative number (greater than zero)
23+
24+
..configuration-block::
25+
26+
..code-block::php-annotations
27+
28+
// src/Entity/Freezer.php
29+
namespace App\Entity;
30+
31+
use Symfony\Component\Validator\Constraints as Assert;
32+
33+
class TransferItem
34+
{
35+
36+
/**
37+
* @Assert\Negative
38+
*/
39+
protected $withdraw;
40+
}
41+
42+
..code-block::yaml
43+
44+
# config/validator/validation.yaml
45+
App\Entity\TransferItem:
46+
properties:
47+
withdraw:
48+
-Negative
49+
50+
..code-block::xml
51+
52+
<!-- config/validator/validation.xml-->
53+
<?xml version="1.0" encoding="UTF-8" ?>
54+
<constraint-mappingxmlns="http://symfony.com/schema/dic/constraint-mapping"
55+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
56+
xsi:schemaLocation="http://symfony.com/schema/dic/constraint-mapping https://symfony.com/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd">
57+
58+
<classname="App\Entity\TransferItem">
59+
<propertyname="withdraw">
60+
<constraintname="Negative"></constraint>
61+
</property>
62+
</class>
63+
</constraint-mapping>
64+
65+
..code-block::php
66+
67+
// src/Entity/TransferItem.php
68+
namespace App\Entity;
69+
70+
use Symfony\Component\Validator\Mapping\ClassMetadata;
71+
use Symfony\Component\Validator\Constraints as Assert;
72+
73+
class TransferItem
74+
{
75+
public static function loadValidatorMetadata(ClassMetadata $metadata)
76+
{
77+
$metadata->addPropertyConstraint('withdraw', new Assert\Negative;
78+
}
79+
}

‎reference/constraints/Positive.rst‎

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
Positive
2+
========
3+
4+
Validates that a value is a positive number. To force that a value is positive
5+
number or equal to zero, see:doc:`/reference/constraints/PositiveOrZero`.
6+
To force a value is negative, see:doc:`/reference/constraints/Negative`.
7+
8+
========== ===================================================================
9+
Applies to:ref:`property or method<validation-property-target>`
10+
Options - `groups`_
11+
- `message`_
12+
- `payload`_
13+
Class:class:`Symfony\\Component\\Validator\\Constraints\\Positive`
14+
Validator:class:`Symfony\\Component\\Validator\\Constraints\\GreaterThanValidator`
15+
========== ===================================================================
16+
17+
Basic Usage
18+
-----------
19+
20+
The following constraints ensure that:
21+
22+
* the ``income`` of an ``Employee`` is a positive number (greater than zero)
23+
24+
..configuration-block::
25+
26+
..code-block::php-annotations
27+
28+
// src/Entity/Employee.php
29+
namespace App\Entity;
30+
31+
use Symfony\Component\Validator\Constraints as Assert;
32+
33+
class Employee
34+
{
35+
36+
/**
37+
* @Assert\Positive
38+
*/
39+
protected $income;
40+
}
41+
42+
..code-block::yaml
43+
44+
# config/validator/validation.yaml
45+
App\Entity\Employee:
46+
properties:
47+
income:
48+
-Positive
49+
50+
..code-block::xml
51+
52+
<!-- config/validator/validation.xml-->
53+
<?xml version="1.0" encoding="UTF-8" ?>
54+
<constraint-mappingxmlns="http://symfony.com/schema/dic/constraint-mapping"
55+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
56+
xsi:schemaLocation="http://symfony.com/schema/dic/constraint-mapping https://symfony.com/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd">
57+
58+
<classname="App\Entity\Employee">
59+
<propertyname="income">
60+
<constraintname="Positive"></constraint>
61+
</property>
62+
</class>
63+
</constraint-mapping>
64+
65+
..code-block::php
66+
67+
// src/Entity/Employee.php
68+
namespace App\Entity;
69+
70+
use Symfony\Component\Validator\Mapping\ClassMetadata;
71+
use Symfony\Component\Validator\Constraints as Assert;
72+
73+
class Employee
74+
{
75+
public static function loadValidatorMetadata(ClassMetadata $metadata)
76+
{
77+
$metadata->addPropertyConstraint('income', new Assert\Positive;
78+
}
79+
}
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
PositiveOrZero
2+
==============
3+
4+
Validates that a value is a positive number or equal to zero. To force that
5+
a value is only a positiven umber, see:doc:`/reference/constraints/Positive`.
6+
To force a value is negative or equal to zero,
7+
see:doc:`/reference/constraints/NegativeOrZero`.
8+
9+
========== ===================================================================
10+
Applies to:ref:`property or method<validation-property-target>`
11+
Options - `groups`_
12+
- `message`_
13+
- `payload`_
14+
Class:class:`Symfony\\Component\\Validator\\Constraints\\PositiveOrZero`
15+
Validator:class:`Symfony\\Component\\Validator\\Constraints\\GreaterThanOrEqualValidator`
16+
========== ===================================================================
17+
18+
Basic Usage
19+
-----------
20+
21+
The following constraints ensure that:
22+
23+
* the number of ``siblings`` of a ``Person`` is positive or zero
24+
25+
..configuration-block::
26+
27+
..code-block::php-annotations
28+
29+
// src/Entity/Person.php
30+
namespace App\Entity;
31+
32+
use Symfony\Component\Validator\Constraints as Assert;
33+
34+
class Person
35+
{
36+
/**
37+
* @Assert\PositiveOrZero
38+
*/
39+
protected $siblings;
40+
}
41+
42+
..code-block::yaml
43+
44+
# config/validator/validation.yaml
45+
App\Entity\Person:
46+
properties:
47+
siblings:
48+
-PositiveOrZero
49+
50+
..code-block::xml
51+
52+
<!-- config/validator/validation.xml-->
53+
<?xml version="1.0" encoding="UTF-8" ?>
54+
<constraint-mappingxmlns="http://symfony.com/schema/dic/constraint-mapping"
55+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
56+
xsi:schemaLocation="http://symfony.com/schema/dic/constraint-mapping https://symfony.com/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd">
57+
58+
<classname="App\Entity\Person">
59+
<propertyname="siblings">
60+
<constraintname="PositiveOrZero"></constraint>
61+
</property>
62+
</class>
63+
</constraint-mapping>
64+
65+
..code-block::php
66+
67+
// src/Entity/Person.php
68+
namespace App\Entity;
69+
70+
use Symfony\Component\Validator\Mapping\ClassMetadata;
71+
use Symfony\Component\Validator\Constraints as Assert;
72+
73+
class Person
74+
{
75+
public static function loadValidatorMetadata(ClassMetadata $metadata)
76+
{
77+
$metadata->addPropertyConstraint('siblings', new Assert\PositiveOrZero);
78+
}
79+
}

‎reference/constraints/map.rst.inc‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,13 @@ Comparison Constraints
3838
* :doc:`Range</reference/constraints/Range>`
3939
* :doc:`DivisibleBy</reference/constraints/DivisibleBy>`
4040

41+
Number Constraints
42+
~~~~~~~~~~~~~~~~~~
43+
* :doc:`Date</reference/constraints/Positive>`
44+
* :doc:`Date</reference/constraints/PositiveOrZero>`
45+
* :doc:`Date</reference/constraints/Negative>`
46+
* :doc:`Date</reference/constraints/NegativeOrZero>`
47+
4148
Date Constraints
4249
~~~~~~~~~~~~~~~~
4350

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp