Forms
-
product
-
name
-
barcode
-
description
-
purchasePrice
-
sellingPrice
-
stockQuantity
-
minStockAlert
-
unit
-
category
-
supplier
-
image
-
_token
-
product
Form type:
"App\Form\ProductType"
Errors
This form has no errors.
Default Data
| Property | Value |
|---|---|
| Model Format | same as normalized format |
| Normalized Format | App\Entity\Product {#447 -id: null -name: ? string -description: null -barcode: ? string -purchasePrice: ? float -sellingPrice: ? float -stockQuantity: 0 -minStockAlert: 10 -category: ? App\Entity\Category -supplier: null -unit: "pièce" -image: null -isActive: true -createdAt: DateTime @1767388634 {#450 date: 2026-01-02 21:17:14.897891 Africa/Dakar (+00:00) } -updatedAt: null -stockMovements: Doctrine\Common\Collections\ArrayCollection {#448 …} -saleItems: Doctrine\Common\Collections\ArrayCollection {#449 …} } |
| View Format | same as normalized format |
Submitted Data
This form was not submitted.
Passed Options
| Option | Passed Value | Resolved Value |
|---|---|---|
| data | App\Entity\Product {#447 -id: null -name: ? string -description: null -barcode: ? string -purchasePrice: ? float -sellingPrice: ? float -stockQuantity: 0 -minStockAlert: 10 -category: ? App\Entity\Category -supplier: null -unit: "pièce" -image: null -isActive: true -createdAt: DateTime @1767388634 {#450 date: 2026-01-02 21:17:14.897891 Africa/Dakar (+00:00) } -updatedAt: null -stockMovements: Doctrine\Common\Collections\ArrayCollection {#448 …} -saleItems: Doctrine\Common\Collections\ArrayCollection {#449 …} } |
same as passed value |
Resolved Options
| Option | Value |
|---|---|
| action | "" |
| allow_extra_fields | false |
| allow_file_upload | false |
| attr | [] |
| attr_translation_parameters | [] |
| auto_initialize | true |
| block_name | null |
| block_prefix | null |
| by_reference | true |
| compound | true |
| constraints | [] |
| csrf_field_name | "_token" |
| csrf_message | "The CSRF token is invalid. Please try to resubmit the form." |
| csrf_protection | true |
| csrf_token_id | null |
| csrf_token_manager | Symfony\Component\Security\Csrf\SameOriginCsrfTokenManager {#404 -requestStack: Symfony\Component\HttpFoundation\RequestStack {#89 …} -logger: Monolog\Logger {#124 …} -fallbackCsrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#403 …} -tokenIds: [ "submit" => 0 "authenticate" => 1 "logout" => 2 ] -checkHeader: 0 -cookieName: "csrf-token" } |
| data | App\Entity\Product {#447 -id: null -name: ? string -description: null -barcode: ? string -purchasePrice: ? float -sellingPrice: ? float -stockQuantity: 0 -minStockAlert: 10 -category: ? App\Entity\Category -supplier: null -unit: "pièce" -image: null -isActive: true -createdAt: DateTime @1767388634 {#450 date: 2026-01-02 21:17:14.897891 Africa/Dakar (+00:00) } -updatedAt: null -stockMovements: Doctrine\Common\Collections\ArrayCollection {#448 …} -saleItems: Doctrine\Common\Collections\ArrayCollection {#449 …} } |
| data_class | "App\Entity\Product" |
| disabled | false |
| empty_data | Closure(FormInterface $form) {#620 class: "Symfony\Component\Form\Extension\Core\Type\FormType" use: { $class: "App\Entity\Product" } } |
| error_bubbling | true |
| error_mapping | [] |
| extra_fields_message | "This form should not contain extra fields." |
| form_attr | false |
| getter | null |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| inherit_data | false |
| invalid_message | "This value is not valid." |
| invalid_message_parameters | [] |
| is_empty_callback | null |
| label | null |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| mapped | true |
| method | "POST" |
| post_max_size_message | "The uploaded file was too large. Please try to upload a smaller file." |
| priority | 0 |
| property_path | null |
| required | true |
| row_attr | [] |
| setter | null |
| translation_domain | null |
| trim | true |
| upload_max_size_message | Closure() {#619 class: "Symfony\Component\Form\Extension\Core\Type\FormType" use: { $options: Symfony\Component\OptionsResolver\OptionsResolver {#621 …} } } |
| validation_groups | null |
View Vars
| Variable | Value |
|---|---|
| action | "" |
| attr | [] |
| attr_translation_parameters | [] |
| block_prefixes | [ "form" "product" "_product" ] |
| cache_key | "_product_product" |
| compound | true |
| data | App\Entity\Product {#447 -id: null -name: ? string -description: null -barcode: ? string -purchasePrice: ? float -sellingPrice: ? float -stockQuantity: 0 -minStockAlert: 10 -category: ? App\Entity\Category -supplier: null -unit: "pièce" -image: null -isActive: true -createdAt: DateTime @1767388634 {#450 date: 2026-01-02 21:17:14.897891 Africa/Dakar (+00:00) } -updatedAt: null -stockMovements: Doctrine\Common\Collections\ArrayCollection {#448 …} -saleItems: Doctrine\Common\Collections\ArrayCollection {#449 …} } |
| disabled | false |
| errors | Symfony\Component\Form\FormErrorIterator {#652 -errors: [] -form: Symfony\Component\Form\Form {#864 …} } |
| form | Symfony\Component\Form\FormView {#618 …5} |
| full_name | "product" |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| id | "product" |
| label | null |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| method | "POST" |
| multipart | false |
| name | "product" |
| priority | 0 |
| required | true |
| row_attr | [] |
| submitted | false |
| translation_domain | null |
| unique_block_prefix | "_product" |
| valid | true |
| value | App\Entity\Product {#447 -id: null -name: ? string -description: null -barcode: ? string -purchasePrice: ? float -sellingPrice: ? float -stockQuantity: 0 -minStockAlert: 10 -category: ? App\Entity\Category -supplier: null -unit: "pièce" -image: null -isActive: true -createdAt: DateTime @1767388634 {#450 date: 2026-01-02 21:17:14.897891 Africa/Dakar (+00:00) } -updatedAt: null -stockMovements: Doctrine\Common\Collections\ArrayCollection {#448 …} -saleItems: Doctrine\Common\Collections\ArrayCollection {#449 …} } |
name
Form type:
"Symfony\Component\Form\Extension\Core\Type\TextType"
Errors
This form has no errors.
Default Data
| Property | Value |
|---|---|
| Model Format | same as normalized format |
| Normalized Format | null |
| View Format |
"" |
Submitted Data
This form was not submitted.
Passed Options
| Option | Passed Value | Resolved Value |
|---|---|---|
| attr | [ "class" => "form-control" "placeholder" => "Ex: Riz Parfumé 25kg" ] |
[ "class" => "form-control" "placeholder" => "Ex: Riz Parfumé 25kg" ] |
| constraints | [ Symfony\Component\Validator\Constraints\NotBlank {#660 +payload: null +groups: ? ?array +message: "Le nom est requis" +allowNull: false +normalizer: null } Symfony\Component\Validator\Constraints\Length {#668 +payload: null +groups: ? ?array +maxMessage: "Le nom ne peut pas dépasser {{ limit }} caractères" +minMessage: "Le nom doit contenir au moins {{ limit }} caractères" +exactMessage: "This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters." +charsetMessage: "This value does not match the expected {{ charset }} charset." +max: 255 +min: 2 +charset: "UTF-8" +normalizer: null +countUnit: "codepoints" } ] |
[ Symfony\Component\Validator\Constraints\NotBlank {#660 +payload: null +groups: ? ?array +message: "Le nom est requis" +allowNull: false +normalizer: null } Symfony\Component\Validator\Constraints\Length {#668 +payload: null +groups: ? ?array +maxMessage: "Le nom ne peut pas dépasser {{ limit }} caractères" +minMessage: "Le nom doit contenir au moins {{ limit }} caractères" +exactMessage: "This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters." +charsetMessage: "This value does not match the expected {{ charset }} charset." +max: 255 +min: 2 +charset: "UTF-8" +normalizer: null +countUnit: "codepoints" } ] |
| label | "Nom du produit" |
same as passed value |
Resolved Options
| Option | Value |
|---|---|
| action | "" |
| allow_extra_fields | false |
| allow_file_upload | false |
| attr | [ "class" => "form-control" "placeholder" => "Ex: Riz Parfumé 25kg" ] |
| attr_translation_parameters | [] |
| auto_initialize | true |
| block_name | null |
| block_prefix | null |
| by_reference | true |
| compound | false |
| constraints | [ Symfony\Component\Validator\Constraints\NotBlank {#660 +payload: null +groups: ? ?array +message: "Le nom est requis" +allowNull: false +normalizer: null } Symfony\Component\Validator\Constraints\Length {#668 +payload: null +groups: ? ?array +maxMessage: "Le nom ne peut pas dépasser {{ limit }} caractères" +minMessage: "Le nom doit contenir au moins {{ limit }} caractères" +exactMessage: "This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters." +charsetMessage: "This value does not match the expected {{ charset }} charset." +max: 255 +min: 2 +charset: "UTF-8" +normalizer: null +countUnit: "codepoints" } ] |
| csrf_field_name | "_token" |
| csrf_message | "The CSRF token is invalid. Please try to resubmit the form." |
| csrf_protection | true |
| csrf_token_id | null |
| csrf_token_manager | Symfony\Component\Security\Csrf\SameOriginCsrfTokenManager {#404 -requestStack: Symfony\Component\HttpFoundation\RequestStack {#89 …} -logger: Monolog\Logger {#124 …} -fallbackCsrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#403 …} -tokenIds: [ "submit" => 0 "authenticate" => 1 "logout" => 2 ] -checkHeader: 0 -cookieName: "csrf-token" } |
| data_class | null |
| disabled | false |
| empty_data | Closure(FormInterface $form) {#594 class: "Symfony\Component\Form\Extension\Core\Type\FormType" } |
| error_bubbling | false |
| error_mapping | [] |
| extra_fields_message | "This form should not contain extra fields." |
| form_attr | false |
| getter | null |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| inherit_data | false |
| invalid_message | "This value is not valid." |
| invalid_message_parameters | [] |
| is_empty_callback | null |
| label | "Nom du produit" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| mapped | true |
| method | "POST" |
| post_max_size_message | "The uploaded file was too large. Please try to upload a smaller file." |
| priority | 0 |
| property_path | null |
| required | true |
| row_attr | [] |
| setter | null |
| translation_domain | null |
| trim | true |
| upload_max_size_message | Closure() {#593 class: "Symfony\Component\Form\Extension\Core\Type\FormType" use: { $options: Symfony\Component\OptionsResolver\OptionsResolver {#597 …} } } |
| validation_groups | null |
View Vars
| Variable | Value |
|---|---|
| action | "" |
| attr | [ "class" => "form-control" "placeholder" => "Ex: Riz Parfumé 25kg" ] |
| attr_translation_parameters | [] |
| block_prefixes | [ "form" "text" "_product_name" ] |
| cache_key | "_product_name_text" |
| compound | false |
| data | null |
| disabled | false |
| errors | Symfony\Component\Form\FormErrorIterator {#948 -errors: [] -form: Symfony\Component\Form\Form {#871 …} } |
| form | Symfony\Component\Form\FormView {#951 …5} |
| full_name | "product[name]" |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| id | "product_name" |
| label | "Nom du produit" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| method | "POST" |
| multipart | false |
| name | "name" |
| priority | 0 |
| required | true |
| row_attr | [] |
| submitted | false |
| translation_domain | null |
| unique_block_prefix | "_product_name" |
| valid | true |
| value | "" |
barcode
Form type:
"Symfony\Component\Form\Extension\Core\Type\TextType"
Errors
This form has no errors.
Default Data
| Property | Value |
|---|---|
| Model Format | same as normalized format |
| Normalized Format | null |
| View Format |
"" |
Submitted Data
This form was not submitted.
Passed Options
| Option | Passed Value | Resolved Value |
|---|---|---|
| attr | [ "class" => "form-control" "placeholder" => "Ex: 2210001" ] |
[ "class" => "form-control" "placeholder" => "Ex: 2210001" ] |
| constraints | [ Symfony\Component\Validator\Constraints\NotBlank {#609 +payload: null +groups: ? ?array +message: "Le code-barres est requis" +allowNull: false +normalizer: null } Symfony\Component\Validator\Constraints\Length {#608 +payload: null +groups: ? ?array +maxMessage: "This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less." +minMessage: "Le code-barres doit contenir au moins {{ limit }} caractères" +exactMessage: "This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters." +charsetMessage: "This value does not match the expected {{ charset }} charset." +max: 50 +min: 5 +charset: "UTF-8" +normalizer: null +countUnit: "codepoints" } ] |
[ Symfony\Component\Validator\Constraints\NotBlank {#609 +payload: null +groups: ? ?array +message: "Le code-barres est requis" +allowNull: false +normalizer: null } Symfony\Component\Validator\Constraints\Length {#608 +payload: null +groups: ? ?array +maxMessage: "This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less." +minMessage: "Le code-barres doit contenir au moins {{ limit }} caractères" +exactMessage: "This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters." +charsetMessage: "This value does not match the expected {{ charset }} charset." +max: 50 +min: 5 +charset: "UTF-8" +normalizer: null +countUnit: "codepoints" } ] |
| label | "Code-barres" |
same as passed value |
Resolved Options
| Option | Value |
|---|---|
| action | "" |
| allow_extra_fields | false |
| allow_file_upload | false |
| attr | [ "class" => "form-control" "placeholder" => "Ex: 2210001" ] |
| attr_translation_parameters | [] |
| auto_initialize | true |
| block_name | null |
| block_prefix | null |
| by_reference | true |
| compound | false |
| constraints | [ Symfony\Component\Validator\Constraints\NotBlank {#609 +payload: null +groups: ? ?array +message: "Le code-barres est requis" +allowNull: false +normalizer: null } Symfony\Component\Validator\Constraints\Length {#608 +payload: null +groups: ? ?array +maxMessage: "This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less." +minMessage: "Le code-barres doit contenir au moins {{ limit }} caractères" +exactMessage: "This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters." +charsetMessage: "This value does not match the expected {{ charset }} charset." +max: 50 +min: 5 +charset: "UTF-8" +normalizer: null +countUnit: "codepoints" } ] |
| csrf_field_name | "_token" |
| csrf_message | "The CSRF token is invalid. Please try to resubmit the form." |
| csrf_protection | true |
| csrf_token_id | null |
| csrf_token_manager | Symfony\Component\Security\Csrf\SameOriginCsrfTokenManager {#404 -requestStack: Symfony\Component\HttpFoundation\RequestStack {#89 …} -logger: Monolog\Logger {#124 …} -fallbackCsrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#403 …} -tokenIds: [ "submit" => 0 "authenticate" => 1 "logout" => 2 ] -checkHeader: 0 -cookieName: "csrf-token" } |
| data_class | null |
| disabled | false |
| empty_data | Closure(FormInterface $form) {#613 class: "Symfony\Component\Form\Extension\Core\Type\FormType" } |
| error_bubbling | false |
| error_mapping | [] |
| extra_fields_message | "This form should not contain extra fields." |
| form_attr | false |
| getter | null |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| inherit_data | false |
| invalid_message | "This value is not valid." |
| invalid_message_parameters | [] |
| is_empty_callback | null |
| label | "Code-barres" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| mapped | true |
| method | "POST" |
| post_max_size_message | "The uploaded file was too large. Please try to upload a smaller file." |
| priority | 0 |
| property_path | null |
| required | true |
| row_attr | [] |
| setter | null |
| translation_domain | null |
| trim | true |
| upload_max_size_message | Closure() {#614 class: "Symfony\Component\Form\Extension\Core\Type\FormType" use: { $options: Symfony\Component\OptionsResolver\OptionsResolver {#612 …} } } |
| validation_groups | null |
View Vars
| Variable | Value |
|---|---|
| action | "" |
| attr | [ "class" => "form-control" "placeholder" => "Ex: 2210001" ] |
| attr_translation_parameters | [] |
| block_prefixes | [ "form" "text" "_product_barcode" ] |
| cache_key | "_product_barcode_text" |
| compound | false |
| data | null |
| disabled | false |
| errors | Symfony\Component\Form\FormErrorIterator {#901 -errors: [] -form: Symfony\Component\Form\Form {#868 …} } |
| form | Symfony\Component\Form\FormView {#903 …5} |
| full_name | "product[barcode]" |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| id | "product_barcode" |
| label | "Code-barres" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| method | "POST" |
| multipart | false |
| name | "barcode" |
| priority | 0 |
| required | true |
| row_attr | [] |
| submitted | false |
| translation_domain | null |
| unique_block_prefix | "_product_barcode" |
| valid | true |
| value | "" |
description
Errors
This form has no errors.
Default Data
| Property | Value |
|---|---|
| Model Format | same as normalized format |
| Normalized Format | null |
| View Format |
"" |
Submitted Data
This form was not submitted.
Passed Options
| Option | Passed Value | Resolved Value |
|---|---|---|
| attr | [ "class" => "form-control" "rows" => 3 "placeholder" => "Description détaillée du produit..." ] |
[ "class" => "form-control" "rows" => 3 "placeholder" => "Description détaillée du produit..." ] |
| label | "Description" |
same as passed value |
| required | false |
same as passed value |
Resolved Options
| Option | Value |
|---|---|
| action | "" |
| allow_extra_fields | false |
| allow_file_upload | false |
| attr | [ "class" => "form-control" "rows" => 3 "placeholder" => "Description détaillée du produit..." ] |
| attr_translation_parameters | [] |
| auto_initialize | true |
| block_name | null |
| block_prefix | null |
| by_reference | true |
| compound | false |
| constraints | [] |
| csrf_field_name | "_token" |
| csrf_message | "The CSRF token is invalid. Please try to resubmit the form." |
| csrf_protection | true |
| csrf_token_id | null |
| csrf_token_manager | Symfony\Component\Security\Csrf\SameOriginCsrfTokenManager {#404 -requestStack: Symfony\Component\HttpFoundation\RequestStack {#89 …} -logger: Monolog\Logger {#124 …} -fallbackCsrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#403 …} -tokenIds: [ "submit" => 0 "authenticate" => 1 "logout" => 2 ] -checkHeader: 0 -cookieName: "csrf-token" } |
| data_class | null |
| disabled | false |
| empty_data | Closure(FormInterface $form) {#634 class: "Symfony\Component\Form\Extension\Core\Type\FormType" } |
| error_bubbling | false |
| error_mapping | [] |
| extra_fields_message | "This form should not contain extra fields." |
| form_attr | false |
| getter | null |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| inherit_data | false |
| invalid_message | "This value is not valid." |
| invalid_message_parameters | [] |
| is_empty_callback | null |
| label | "Description" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| mapped | true |
| method | "POST" |
| post_max_size_message | "The uploaded file was too large. Please try to upload a smaller file." |
| priority | 0 |
| property_path | null |
| required | false |
| row_attr | [] |
| setter | null |
| translation_domain | null |
| trim | true |
| upload_max_size_message | Closure() {#633 class: "Symfony\Component\Form\Extension\Core\Type\FormType" use: { $options: Symfony\Component\OptionsResolver\OptionsResolver {#635 …} } } |
| validation_groups | null |
View Vars
| Variable | Value |
|---|---|
| action | "" |
| attr | [ "class" => "form-control" "rows" => 3 "placeholder" => "Description détaillée du produit..." ] |
| attr_translation_parameters | [] |
| block_prefixes | [ "form" "text" "textarea" "_product_description" ] |
| cache_key | "_product_description_textarea" |
| compound | false |
| data | null |
| disabled | false |
| errors | Symfony\Component\Form\FormErrorIterator {#908 -errors: [] -form: Symfony\Component\Form\Form {#865 …} } |
| form | Symfony\Component\Form\FormView {#909 …5} |
| full_name | "product[description]" |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| id | "product_description" |
| label | "Description" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| method | "POST" |
| multipart | false |
| name | "description" |
| pattern | null |
| priority | 0 |
| required | false |
| row_attr | [] |
| submitted | false |
| translation_domain | null |
| unique_block_prefix | "_product_description" |
| valid | true |
| value | "" |
purchasePrice
Errors
This form has no errors.
Default Data
| Property | Value |
|---|---|
| Model Format | same as normalized format |
| Normalized Format | null |
| View Format |
"" |
Submitted Data
This form was not submitted.
Passed Options
| Option | Passed Value | Resolved Value |
|---|---|---|
| attr | [ "class" => "form-control" "placeholder" => "0" "step" => "0.01" "min" => "0" ] |
[ "class" => "form-control" "placeholder" => "0" "step" => "0.01" "min" => "0" ] |
| constraints | [ Symfony\Component\Validator\Constraints\NotBlank {#607 +payload: null +groups: ? ?array +message: "Le prix d'achat est requis" +allowNull: false +normalizer: null } Symfony\Component\Validator\Constraints\Positive {#606 +payload: null +groups: ? ?array +message: "Le prix d'achat doit être positif" +value: 0 +propertyPath: null } Symfony\Component\Validator\Constraints\Type {#605 +payload: null +groups: ? ?array +message: "This value should be of type {{ type }}." +type: "numeric" } ] |
[ Symfony\Component\Validator\Constraints\NotBlank {#607 +payload: null +groups: ? ?array +message: "Le prix d'achat est requis" +allowNull: false +normalizer: null } Symfony\Component\Validator\Constraints\Positive {#606 +payload: null +groups: ? ?array +message: "Le prix d'achat doit être positif" +value: 0 +propertyPath: null } Symfony\Component\Validator\Constraints\Type {#605 +payload: null +groups: ? ?array +message: "This value should be of type {{ type }}." +type: "numeric" } ] |
| label | "Prix d'achat (FCFA)" |
same as passed value |
Resolved Options
| Option | Value |
|---|---|
| action | "" |
| allow_extra_fields | false |
| allow_file_upload | false |
| attr | [ "class" => "form-control" "placeholder" => "0" "step" => "0.01" "min" => "0" ] |
| attr_translation_parameters | [] |
| auto_initialize | true |
| block_name | null |
| block_prefix | null |
| by_reference | true |
| compound | false |
| constraints | [ Symfony\Component\Validator\Constraints\NotBlank {#607 +payload: null +groups: ? ?array +message: "Le prix d'achat est requis" +allowNull: false +normalizer: null } Symfony\Component\Validator\Constraints\Positive {#606 +payload: null +groups: ? ?array +message: "Le prix d'achat doit être positif" +value: 0 +propertyPath: null } Symfony\Component\Validator\Constraints\Type {#605 +payload: null +groups: ? ?array +message: "This value should be of type {{ type }}." +type: "numeric" } ] |
| csrf_field_name | "_token" |
| csrf_message | "The CSRF token is invalid. Please try to resubmit the form." |
| csrf_protection | true |
| csrf_token_id | null |
| csrf_token_manager | Symfony\Component\Security\Csrf\SameOriginCsrfTokenManager {#404 -requestStack: Symfony\Component\HttpFoundation\RequestStack {#89 …} -logger: Monolog\Logger {#124 …} -fallbackCsrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#403 …} -tokenIds: [ "submit" => 0 "authenticate" => 1 "logout" => 2 ] -checkHeader: 0 -cookieName: "csrf-token" } |
| data_class | null |
| disabled | false |
| empty_data | Closure(FormInterface $form) {#645 class: "Symfony\Component\Form\Extension\Core\Type\FormType" } |
| error_bubbling | false |
| error_mapping | [] |
| extra_fields_message | "This form should not contain extra fields." |
| form_attr | false |
| getter | null |
| grouping | false |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| html5 | false |
| inherit_data | false |
| input | "number" |
| invalid_message | "Please enter a number." |
| invalid_message_parameters | [] |
| is_empty_callback | null |
| label | "Prix d'achat (FCFA)" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| mapped | true |
| method | "POST" |
| post_max_size_message | "The uploaded file was too large. Please try to upload a smaller file." |
| priority | 0 |
| property_path | null |
| required | true |
| rounding_mode | 6 |
| row_attr | [] |
| scale | null |
| setter | null |
| translation_domain | null |
| trim | true |
| upload_max_size_message | Closure() {#651 class: "Symfony\Component\Form\Extension\Core\Type\FormType" use: { $options: Symfony\Component\OptionsResolver\OptionsResolver {#646 …} } } |
| validation_groups | null |
View Vars
| Variable | Value |
|---|---|
| action | "" |
| attr | [ "class" => "form-control" "placeholder" => "0" "step" => "0.01" "min" => "0" "inputmode" => "decimal" ] |
| attr_translation_parameters | [] |
| block_prefixes | [ "form" "number" "_product_purchasePrice" ] |
| cache_key | "_product_purchasePrice_number" |
| compound | false |
| data | null |
| disabled | false |
| errors | Symfony\Component\Form\FormErrorIterator {#856 -errors: [] -form: Symfony\Component\Form\Form {#874 …} } |
| form | Symfony\Component\Form\FormView {#840 …5} |
| full_name | "product[purchasePrice]" |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| id | "product_purchasePrice" |
| label | "Prix d'achat (FCFA)" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| method | "POST" |
| multipart | false |
| name | "purchasePrice" |
| priority | 0 |
| required | true |
| row_attr | [] |
| submitted | false |
| translation_domain | null |
| unique_block_prefix | "_product_purchasePrice" |
| valid | true |
| value | "" |
sellingPrice
Errors
This form has no errors.
Default Data
| Property | Value |
|---|---|
| Model Format | same as normalized format |
| Normalized Format | null |
| View Format |
"" |
Submitted Data
This form was not submitted.
Passed Options
| Option | Passed Value | Resolved Value |
|---|---|---|
| attr | [ "class" => "form-control" "placeholder" => "0" "step" => "0.01" "min" => "0" ] |
[ "class" => "form-control" "placeholder" => "0" "step" => "0.01" "min" => "0" ] |
| constraints | [ Symfony\Component\Validator\Constraints\NotBlank {#601 +payload: null +groups: ? ?array +message: "Le prix de vente est requis" +allowNull: false +normalizer: null } Symfony\Component\Validator\Constraints\Positive {#600 +payload: null +groups: ? ?array +message: "Le prix de vente doit être positif" +value: 0 +propertyPath: null } Symfony\Component\Validator\Constraints\Type {#602 +payload: null +groups: ? ?array +message: "This value should be of type {{ type }}." +type: "numeric" } ] |
[ Symfony\Component\Validator\Constraints\NotBlank {#601 +payload: null +groups: ? ?array +message: "Le prix de vente est requis" +allowNull: false +normalizer: null } Symfony\Component\Validator\Constraints\Positive {#600 +payload: null +groups: ? ?array +message: "Le prix de vente doit être positif" +value: 0 +propertyPath: null } Symfony\Component\Validator\Constraints\Type {#602 +payload: null +groups: ? ?array +message: "This value should be of type {{ type }}." +type: "numeric" } ] |
| label | "Prix de vente (FCFA)" |
same as passed value |
Resolved Options
| Option | Value |
|---|---|
| action | "" |
| allow_extra_fields | false |
| allow_file_upload | false |
| attr | [ "class" => "form-control" "placeholder" => "0" "step" => "0.01" "min" => "0" ] |
| attr_translation_parameters | [] |
| auto_initialize | true |
| block_name | null |
| block_prefix | null |
| by_reference | true |
| compound | false |
| constraints | [ Symfony\Component\Validator\Constraints\NotBlank {#601 +payload: null +groups: ? ?array +message: "Le prix de vente est requis" +allowNull: false +normalizer: null } Symfony\Component\Validator\Constraints\Positive {#600 +payload: null +groups: ? ?array +message: "Le prix de vente doit être positif" +value: 0 +propertyPath: null } Symfony\Component\Validator\Constraints\Type {#602 +payload: null +groups: ? ?array +message: "This value should be of type {{ type }}." +type: "numeric" } ] |
| csrf_field_name | "_token" |
| csrf_message | "The CSRF token is invalid. Please try to resubmit the form." |
| csrf_protection | true |
| csrf_token_id | null |
| csrf_token_manager | Symfony\Component\Security\Csrf\SameOriginCsrfTokenManager {#404 -requestStack: Symfony\Component\HttpFoundation\RequestStack {#89 …} -logger: Monolog\Logger {#124 …} -fallbackCsrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#403 …} -tokenIds: [ "submit" => 0 "authenticate" => 1 "logout" => 2 ] -checkHeader: 0 -cookieName: "csrf-token" } |
| data_class | null |
| disabled | false |
| empty_data | Closure(FormInterface $form) {#664 class: "Symfony\Component\Form\Extension\Core\Type\FormType" } |
| error_bubbling | false |
| error_mapping | [] |
| extra_fields_message | "This form should not contain extra fields." |
| form_attr | false |
| getter | null |
| grouping | false |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| html5 | false |
| inherit_data | false |
| input | "number" |
| invalid_message | "Please enter a number." |
| invalid_message_parameters | [] |
| is_empty_callback | null |
| label | "Prix de vente (FCFA)" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| mapped | true |
| method | "POST" |
| post_max_size_message | "The uploaded file was too large. Please try to upload a smaller file." |
| priority | 0 |
| property_path | null |
| required | true |
| rounding_mode | 6 |
| row_attr | [] |
| scale | null |
| setter | null |
| translation_domain | null |
| trim | true |
| upload_max_size_message | Closure() {#672 class: "Symfony\Component\Form\Extension\Core\Type\FormType" use: { $options: Symfony\Component\OptionsResolver\OptionsResolver {#663 …} } } |
| validation_groups | null |
View Vars
| Variable | Value |
|---|---|
| action | "" |
| attr | [ "class" => "form-control" "placeholder" => "0" "step" => "0.01" "min" => "0" "inputmode" => "decimal" ] |
| attr_translation_parameters | [] |
| block_prefixes | [ "form" "number" "_product_sellingPrice" ] |
| cache_key | "_product_sellingPrice_number" |
| compound | false |
| data | null |
| disabled | false |
| errors | Symfony\Component\Form\FormErrorIterator {#782 -errors: [] -form: Symfony\Component\Form\Form {#877 …} } |
| form | Symfony\Component\Form\FormView {#711 …5} |
| full_name | "product[sellingPrice]" |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| id | "product_sellingPrice" |
| label | "Prix de vente (FCFA)" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| method | "POST" |
| multipart | false |
| name | "sellingPrice" |
| priority | 0 |
| required | true |
| row_attr | [] |
| submitted | false |
| translation_domain | null |
| unique_block_prefix | "_product_sellingPrice" |
| valid | true |
| value | "" |
stockQuantity
Errors
This form has no errors.
Default Data
| Property | Value |
|---|---|
| Model Format | same as normalized format |
| Normalized Format | 0 |
| View Format |
"0"
|
Submitted Data
This form was not submitted.
Passed Options
| Option | Passed Value | Resolved Value |
|---|---|---|
| attr | [ "class" => "form-control" "placeholder" => "0" "min" => "0" ] |
[ "class" => "form-control" "placeholder" => "0" "min" => "0" ] |
| constraints | [ Symfony\Component\Validator\Constraints\NotBlank {#632 +payload: null +groups: ? ?array +message: "La quantité est requise" +allowNull: false +normalizer: null } Symfony\Component\Validator\Constraints\PositiveOrZero {#666 +payload: null +groups: ? ?array +message: "La quantité doit être positive ou zéro" +value: 0 +propertyPath: null } ] |
[ Symfony\Component\Validator\Constraints\NotBlank {#632 +payload: null +groups: ? ?array +message: "La quantité est requise" +allowNull: false +normalizer: null } Symfony\Component\Validator\Constraints\PositiveOrZero {#666 +payload: null +groups: ? ?array +message: "La quantité doit être positive ou zéro" +value: 0 +propertyPath: null } ] |
| label | "Quantité en stock" |
same as passed value |
Resolved Options
| Option | Value |
|---|---|
| action | "" |
| allow_extra_fields | false |
| allow_file_upload | false |
| attr | [ "class" => "form-control" "placeholder" => "0" "min" => "0" ] |
| attr_translation_parameters | [] |
| auto_initialize | true |
| block_name | null |
| block_prefix | null |
| by_reference | true |
| compound | false |
| constraints | [ Symfony\Component\Validator\Constraints\NotBlank {#632 +payload: null +groups: ? ?array +message: "La quantité est requise" +allowNull: false +normalizer: null } Symfony\Component\Validator\Constraints\PositiveOrZero {#666 +payload: null +groups: ? ?array +message: "La quantité doit être positive ou zéro" +value: 0 +propertyPath: null } ] |
| csrf_field_name | "_token" |
| csrf_message | "The CSRF token is invalid. Please try to resubmit the form." |
| csrf_protection | true |
| csrf_token_id | null |
| csrf_token_manager | Symfony\Component\Security\Csrf\SameOriginCsrfTokenManager {#404 -requestStack: Symfony\Component\HttpFoundation\RequestStack {#89 …} -logger: Monolog\Logger {#124 …} -fallbackCsrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#403 …} -tokenIds: [ "submit" => 0 "authenticate" => 1 "logout" => 2 ] -checkHeader: 0 -cookieName: "csrf-token" } |
| data_class | null |
| disabled | false |
| empty_data | Closure(FormInterface $form) {#676 class: "Symfony\Component\Form\Extension\Core\Type\FormType" } |
| error_bubbling | false |
| error_mapping | [] |
| extra_fields_message | "This form should not contain extra fields." |
| form_attr | false |
| getter | null |
| grouping | false |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| inherit_data | false |
| invalid_message | "Please enter an integer." |
| invalid_message_parameters | [] |
| is_empty_callback | null |
| label | "Quantité en stock" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| mapped | true |
| method | "POST" |
| post_max_size_message | "The uploaded file was too large. Please try to upload a smaller file." |
| priority | 0 |
| property_path | null |
| required | true |
| rounding_mode | 2 |
| row_attr | [] |
| setter | null |
| translation_domain | null |
| trim | true |
| upload_max_size_message | Closure() {#675 class: "Symfony\Component\Form\Extension\Core\Type\FormType" use: { $options: Symfony\Component\OptionsResolver\OptionsResolver {#677 …} } } |
| validation_groups | null |
View Vars
| Variable | Value |
|---|---|
| action | "" |
| attr | [ "class" => "form-control" "placeholder" => "0" "min" => "0" ] |
| attr_translation_parameters | [] |
| block_prefixes | [ "form" "integer" "_product_stockQuantity" ] |
| cache_key | "_product_stockQuantity_integer" |
| compound | false |
| data | 0 |
| disabled | false |
| errors | Symfony\Component\Form\FormErrorIterator {#688 -errors: [] -form: Symfony\Component\Form\Form {#880 …} } |
| form | Symfony\Component\Form\FormView {#681 …5} |
| full_name | "product[stockQuantity]" |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| id | "product_stockQuantity" |
| label | "Quantité en stock" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| method | "POST" |
| multipart | false |
| name | "stockQuantity" |
| priority | 0 |
| required | true |
| row_attr | [] |
| submitted | false |
| translation_domain | null |
| unique_block_prefix | "_product_stockQuantity" |
| valid | true |
| value | "0" |
minStockAlert
Errors
This form has no errors.
Default Data
| Property | Value |
|---|---|
| Model Format | same as normalized format |
| Normalized Format | 10 |
| View Format |
"10"
|
Submitted Data
This form was not submitted.
Passed Options
| Option | Passed Value | Resolved Value |
|---|---|---|
| attr | [ "class" => "form-control" "placeholder" => "10" "min" => "0" ] |
[ "class" => "form-control" "placeholder" => "10" "min" => "0" ] |
| constraints | [ Symfony\Component\Validator\Constraints\NotBlank {#592 +payload: null +groups: ? ?array +message: "Le seuil d'alerte est requis" +allowNull: false +normalizer: null } Symfony\Component\Validator\Constraints\PositiveOrZero {#590 +payload: null +groups: ? ?array +message: "Le seuil doit être positif ou zéro" +value: 0 +propertyPath: null } ] |
[ Symfony\Component\Validator\Constraints\NotBlank {#592 +payload: null +groups: ? ?array +message: "Le seuil d'alerte est requis" +allowNull: false +normalizer: null } Symfony\Component\Validator\Constraints\PositiveOrZero {#590 +payload: null +groups: ? ?array +message: "Le seuil doit être positif ou zéro" +value: 0 +propertyPath: null } ] |
| label | "Seuil d'alerte" |
same as passed value |
Resolved Options
| Option | Value |
|---|---|
| action | "" |
| allow_extra_fields | false |
| allow_file_upload | false |
| attr | [ "class" => "form-control" "placeholder" => "10" "min" => "0" ] |
| attr_translation_parameters | [] |
| auto_initialize | true |
| block_name | null |
| block_prefix | null |
| by_reference | true |
| compound | false |
| constraints | [ Symfony\Component\Validator\Constraints\NotBlank {#592 +payload: null +groups: ? ?array +message: "Le seuil d'alerte est requis" +allowNull: false +normalizer: null } Symfony\Component\Validator\Constraints\PositiveOrZero {#590 +payload: null +groups: ? ?array +message: "Le seuil doit être positif ou zéro" +value: 0 +propertyPath: null } ] |
| csrf_field_name | "_token" |
| csrf_message | "The CSRF token is invalid. Please try to resubmit the form." |
| csrf_protection | true |
| csrf_token_id | null |
| csrf_token_manager | Symfony\Component\Security\Csrf\SameOriginCsrfTokenManager {#404 -requestStack: Symfony\Component\HttpFoundation\RequestStack {#89 …} -logger: Monolog\Logger {#124 …} -fallbackCsrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#403 …} -tokenIds: [ "submit" => 0 "authenticate" => 1 "logout" => 2 ] -checkHeader: 0 -cookieName: "csrf-token" } |
| data_class | null |
| disabled | false |
| empty_data | Closure(FormInterface $form) {#690 class: "Symfony\Component\Form\Extension\Core\Type\FormType" } |
| error_bubbling | false |
| error_mapping | [] |
| extra_fields_message | "This form should not contain extra fields." |
| form_attr | false |
| getter | null |
| grouping | false |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| inherit_data | false |
| invalid_message | "Please enter an integer." |
| invalid_message_parameters | [] |
| is_empty_callback | null |
| label | "Seuil d'alerte" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| mapped | true |
| method | "POST" |
| post_max_size_message | "The uploaded file was too large. Please try to upload a smaller file." |
| priority | 0 |
| property_path | null |
| required | true |
| rounding_mode | 2 |
| row_attr | [] |
| setter | null |
| translation_domain | null |
| trim | true |
| upload_max_size_message | Closure() {#691 class: "Symfony\Component\Form\Extension\Core\Type\FormType" use: { $options: Symfony\Component\OptionsResolver\OptionsResolver {#689 …} } } |
| validation_groups | null |
View Vars
| Variable | Value |
|---|---|
| action | "" |
| attr | [ "class" => "form-control" "placeholder" => "10" "min" => "0" ] |
| attr_translation_parameters | [] |
| block_prefixes | [ "form" "integer" "_product_minStockAlert" ] |
| cache_key | "_product_minStockAlert_integer" |
| compound | false |
| data | 10 |
| disabled | false |
| errors | Symfony\Component\Form\FormErrorIterator {#665 -errors: [] -form: Symfony\Component\Form\Form {#883 …} } |
| form | Symfony\Component\Form\FormView {#599 …5} |
| full_name | "product[minStockAlert]" |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| id | "product_minStockAlert" |
| label | "Seuil d'alerte" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| method | "POST" |
| multipart | false |
| name | "minStockAlert" |
| priority | 0 |
| required | true |
| row_attr | [] |
| submitted | false |
| translation_domain | null |
| unique_block_prefix | "_product_minStockAlert" |
| valid | true |
| value | "10" |
unit
Errors
This form has no errors.
Default Data
| Property | Value |
|---|---|
| Model Format | same as normalized format |
| Normalized Format | "pièce" |
| View Format | same as normalized format |
Submitted Data
This form was not submitted.
Passed Options
| Option | Passed Value | Resolved Value |
|---|---|---|
| attr | [ "class" => "form-select" ] |
[ "class" => "form-select" ] |
| choices | [ "Pièce" => "pièce" "Kilogramme (kg)" => "kg" "Gramme (g)" => "g" "Litre" => "litre" "Millilitre (ml)" => "ml" "Paquet" => "paquet" "Boîte" => "boîte" "Sac" => "sac" "Carton" => "carton" "Bouteille" => "bouteille" "Bidon" => "bidon" ] |
[ "Pièce" => "pièce" "Kilogramme (kg)" => "kg" "Gramme (g)" => "g" "Litre" => "litre" "Millilitre (ml)" => "ml" "Paquet" => "paquet" "Boîte" => "boîte" "Sac" => "sac" "Carton" => "carton" "Bouteille" => "bouteille" "Bidon" => "bidon" ] |
| label | "Unité" |
same as passed value |
| placeholder | "Sélectionner une unité" |
same as passed value |
Resolved Options
| Option | Value |
|---|---|
| action | "" |
| allow_extra_fields | false |
| allow_file_upload | false |
| attr | [ "class" => "form-select" ] |
| attr_translation_parameters | [] |
| auto_initialize | true |
| block_name | null |
| block_prefix | null |
| by_reference | true |
| choice_attr | null |
| choice_filter | null |
| choice_label | null |
| choice_lazy | false |
| choice_loader | null |
| choice_name | null |
| choice_translation_domain | null |
| choice_translation_parameters | [] |
| choice_value | null |
| choices | [ "Pièce" => "pièce" "Kilogramme (kg)" => "kg" "Gramme (g)" => "g" "Litre" => "litre" "Millilitre (ml)" => "ml" "Paquet" => "paquet" "Boîte" => "boîte" "Sac" => "sac" "Carton" => "carton" "Bouteille" => "bouteille" "Bidon" => "bidon" ] |
| compound | false |
| constraints | [] |
| csrf_field_name | "_token" |
| csrf_message | "The CSRF token is invalid. Please try to resubmit the form." |
| csrf_protection | true |
| csrf_token_id | null |
| csrf_token_manager | Symfony\Component\Security\Csrf\SameOriginCsrfTokenManager {#404 -requestStack: Symfony\Component\HttpFoundation\RequestStack {#89 …} -logger: Monolog\Logger {#124 …} -fallbackCsrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#403 …} -tokenIds: [ "submit" => 0 "authenticate" => 1 "logout" => 2 ] -checkHeader: 0 -cookieName: "csrf-token" } |
| data_class | null |
| disabled | false |
| duplicate_preferred_choices | true |
| empty_data | "" |
| error_bubbling | false |
| error_mapping | [] |
| expanded | false |
| extra_fields_message | "This form should not contain extra fields." |
| form_attr | false |
| getter | null |
| group_by | null |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| inherit_data | false |
| invalid_message | "The selected choice is invalid." |
| invalid_message_parameters | [] |
| is_empty_callback | null |
| label | "Unité" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| mapped | true |
| method | "POST" |
| multiple | false |
| placeholder | "Sélectionner une unité" |
| placeholder_attr | [] |
| post_max_size_message | "The uploaded file was too large. Please try to upload a smaller file." |
| preferred_choices | [] |
| priority | 0 |
| property_path | null |
| required | true |
| row_attr | [] |
| separator | "-------------------" |
| separator_html | false |
| setter | null |
| translation_domain | null |
| trim | false |
| upload_max_size_message | Closure() {#709 class: "Symfony\Component\Form\Extension\Core\Type\FormType" use: { $options: Symfony\Component\OptionsResolver\OptionsResolver {#710 …} } } |
| validation_groups | null |
View Vars
| Variable | Value |
|---|---|
| action | "" |
| attr | [ "class" => "form-select" ] |
| attr_translation_parameters | [] |
| block_prefixes | [ "form" "choice" "_product_unit" ] |
| cache_key | "_product_unit_choice" |
| choice_translation_domain | null |
| choice_translation_parameters | [] |
| choices | [ Symfony\Component\Form\ChoiceList\View\ChoiceView {#639 +data: "pièce" +value: "pièce" +label: "Pièce" +attr: [] +labelTranslationParameters: [] } Symfony\Component\Form\ChoiceList\View\ChoiceView {#958 +data: "kg" +value: "kg" +label: "Kilogramme (kg)" +attr: [] +labelTranslationParameters: [] } Symfony\Component\Form\ChoiceList\View\ChoiceView {#957 +data: "g" +value: "g" +label: "Gramme (g)" +attr: [] +labelTranslationParameters: [] } Symfony\Component\Form\ChoiceList\View\ChoiceView {#956 +data: "litre" +value: "litre" +label: "Litre" +attr: [] +labelTranslationParameters: [] } Symfony\Component\Form\ChoiceList\View\ChoiceView {#955 +data: "ml" +value: "ml" +label: "Millilitre (ml)" +attr: [] +labelTranslationParameters: [] } Symfony\Component\Form\ChoiceList\View\ChoiceView {#954 +data: "paquet" +value: "paquet" +label: "Paquet" +attr: [] +labelTranslationParameters: [] } Symfony\Component\Form\ChoiceList\View\ChoiceView {#953 +data: "boîte" +value: "boîte" +label: "Boîte" +attr: [] +labelTranslationParameters: [] } Symfony\Component\Form\ChoiceList\View\ChoiceView {#959 +data: "sac" +value: "sac" +label: "Sac" +attr: [] +labelTranslationParameters: [] } Symfony\Component\Form\ChoiceList\View\ChoiceView {#960 +data: "carton" +value: "carton" +label: "Carton" +attr: [] +labelTranslationParameters: [] } Symfony\Component\Form\ChoiceList\View\ChoiceView {#961 +data: "bouteille" +value: "bouteille" +label: "Bouteille" +attr: [] +labelTranslationParameters: [] } Symfony\Component\Form\ChoiceList\View\ChoiceView {#962 +data: "bidon" +value: "bidon" +label: "Bidon" +attr: [] +labelTranslationParameters: [] } ] |
| compound | false |
| data | "pièce" |
| disabled | false |
| duplicate_preferred_choices | true |
| errors | Symfony\Component\Form\FormErrorIterator {#902 -errors: [] -form: Symfony\Component\Form\Form {#886 …} } |
| expanded | false |
| form | Symfony\Component\Form\FormView {#615 …5} |
| full_name | "product[unit]" |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| id | "product_unit" |
| is_selected | Closure($choice, $value) {#966 class: "Symfony\Component\Form\Extension\Core\Type\ChoiceType" } |
| label | "Unité" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| method | "POST" |
| multipart | false |
| multiple | false |
| name | "unit" |
| placeholder | "Sélectionner une unité" |
| placeholder_attr | [] |
| placeholder_in_choices | false |
| preferred_choices | [] |
| priority | 0 |
| required | true |
| row_attr | [] |
| separator | "-------------------" |
| separator_html | false |
| submitted | false |
| translation_domain | null |
| unique_block_prefix | "_product_unit" |
| valid | true |
| value | "pièce" |
category
Form type:
"Symfony\Bridge\Doctrine\Form\Type\EntityType"
Errors
This form has no errors.
Default Data
| Property | Value |
|---|---|
| Model Format | same as normalized format |
| Normalized Format | null |
| View Format |
"" |
Submitted Data
This form was not submitted.
Passed Options
| Option | Passed Value | Resolved Value |
|---|---|---|
| attr | [ "class" => "form-select" ] |
[ "class" => "form-select" ] |
| choice_label | "name" |
same as passed value |
| class | "App\Entity\Category" |
same as passed value |
| constraints | [ Symfony\Component\Validator\Constraints\NotBlank {#589 +payload: null +groups: ? ?array +message: "La catégorie est requise" +allowNull: false +normalizer: null } ] |
[ Symfony\Component\Validator\Constraints\NotBlank {#589 +payload: null +groups: ? ?array +message: "La catégorie est requise" +allowNull: false +normalizer: null } ] |
| label | "Catégorie" |
same as passed value |
| placeholder | "Sélectionner une catégorie" |
same as passed value |
Resolved Options
| Option | Value |
|---|---|
| action | "" |
| allow_extra_fields | false |
| allow_file_upload | false |
| attr | [ "class" => "form-select" ] |
| attr_translation_parameters | [] |
| auto_initialize | true |
| block_name | null |
| block_prefix | null |
| by_reference | true |
| choice_attr | null |
| choice_filter | null |
| choice_label | "name" |
| choice_lazy | false |
| choice_loader | Symfony\Component\Form\ChoiceList\Factory\Cache\ChoiceLoader {#775 -option: Symfony\Bridge\Doctrine\Form\ChoiceList\DoctrineChoiceLoader {#738 …} } |
| choice_name | Symfony\Component\Form\ChoiceList\Factory\Cache\ChoiceFieldName {#781 -option: Symfony\Bridge\Doctrine\Form\Type\DoctrineType::createChoiceName(object $choice, string|int $key, string $value): string {#778 …} } |
| choice_translation_domain | false |
| choice_translation_parameters | [] |
| choice_value | Symfony\Component\Form\ChoiceList\Factory\Cache\ChoiceValue {#780 -option: Symfony\Bridge\Doctrine\Form\ChoiceList\IdReader::getIdValue(?object $object = null): string {#779 …} } |
| choices | null |
| class | "App\Entity\Category" |
| compound | false |
| constraints | [ Symfony\Component\Validator\Constraints\NotBlank {#589 +payload: null +groups: ? ?array +message: "La catégorie est requise" +allowNull: false +normalizer: null } ] |
| csrf_field_name | "_token" |
| csrf_message | "The CSRF token is invalid. Please try to resubmit the form." |
| csrf_protection | true |
| csrf_token_id | null |
| csrf_token_manager | Symfony\Component\Security\Csrf\SameOriginCsrfTokenManager {#404 -requestStack: Symfony\Component\HttpFoundation\RequestStack {#89 …} -logger: Monolog\Logger {#124 …} -fallbackCsrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#403 …} -tokenIds: [ "submit" => 0 "authenticate" => 1 "logout" => 2 ] -checkHeader: 0 -cookieName: "csrf-token" } |
| data_class | null |
| disabled | false |
| duplicate_preferred_choices | true |
| em | Container3aJHhnl\EntityManagerGhost614a58f {#286 …12} |
| empty_data | "" |
| error_bubbling | false |
| error_mapping | [] |
| expanded | false |
| extra_fields_message | "This form should not contain extra fields." |
| form_attr | false |
| getter | null |
| group_by | null |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| id_reader | Symfony\Bridge\Doctrine\Form\ChoiceList\IdReader {#733 -singleId: true -intId: true -idField: "id" -associationIdReader: null -om: Container3aJHhnl\EntityManagerGhost614a58f {#286 …12} -classMetadata: Doctrine\ORM\Mapping\ClassMetadata {#734 …} } |
| inherit_data | false |
| invalid_message | "The selected choice is invalid." |
| invalid_message_parameters | [] |
| is_empty_callback | null |
| label | "Catégorie" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| mapped | true |
| method | "POST" |
| multiple | false |
| placeholder | "Sélectionner une catégorie" |
| placeholder_attr | [] |
| post_max_size_message | "The uploaded file was too large. Please try to upload a smaller file." |
| preferred_choices | [] |
| priority | 0 |
| property_path | null |
| query_builder | null |
| required | true |
| row_attr | [] |
| separator | "-------------------" |
| separator_html | false |
| setter | null |
| translation_domain | null |
| trim | false |
| upload_max_size_message | Closure() {#740 class: "Symfony\Component\Form\Extension\Core\Type\FormType" use: { $options: Symfony\Component\OptionsResolver\OptionsResolver {#727 …} } } |
| validation_groups | null |
View Vars
| Variable | Value |
|---|---|
| action | "" |
| attr | [ "class" => "form-select" ] |
| attr_translation_parameters | [] |
| block_prefixes | [ "form" "choice" "entity" "_product_category" ] |
| cache_key | "_product_category_entity" |
| choice_translation_domain | false |
| choice_translation_parameters | [] |
| choices | [] |
| compound | false |
| data | null |
| disabled | false |
| duplicate_preferred_choices | true |
| errors | Symfony\Component\Form\FormErrorIterator {#964 -errors: [] -form: Symfony\Component\Form\Form {#889 …} } |
| expanded | false |
| form | Symfony\Component\Form\FormView {#965 …5} |
| full_name | "product[category]" |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| id | "product_category" |
| is_selected | Closure($choice, $value) {#968 class: "Symfony\Component\Form\Extension\Core\Type\ChoiceType" } |
| label | "Catégorie" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| method | "POST" |
| multipart | false |
| multiple | false |
| name | "category" |
| placeholder | "Sélectionner une catégorie" |
| placeholder_attr | [] |
| placeholder_in_choices | false |
| preferred_choices | [] |
| priority | 0 |
| required | true |
| row_attr | [] |
| separator | "-------------------" |
| separator_html | false |
| submitted | false |
| translation_domain | null |
| unique_block_prefix | "_product_category" |
| valid | true |
| value | "" |
supplier
Form type:
"Symfony\Bridge\Doctrine\Form\Type\EntityType"
Errors
This form has no errors.
Default Data
| Property | Value |
|---|---|
| Model Format | same as normalized format |
| Normalized Format | null |
| View Format |
"" |
Submitted Data
This form was not submitted.
Passed Options
| Option | Passed Value | Resolved Value |
|---|---|---|
| attr | [ "class" => "form-select" ] |
[ "class" => "form-select" ] |
| choice_label | "name" |
same as passed value |
| class | "App\Entity\Supplier" |
same as passed value |
| label | "Fournisseur" |
same as passed value |
| placeholder | "Aucun fournisseur" |
same as passed value |
| required | false |
same as passed value |
Resolved Options
| Option | Value |
|---|---|
| action | "" |
| allow_extra_fields | false |
| allow_file_upload | false |
| attr | [ "class" => "form-select" ] |
| attr_translation_parameters | [] |
| auto_initialize | true |
| block_name | null |
| block_prefix | null |
| by_reference | true |
| choice_attr | null |
| choice_filter | null |
| choice_label | "name" |
| choice_lazy | false |
| choice_loader | Symfony\Component\Form\ChoiceList\Factory\Cache\ChoiceLoader {#836 -option: Symfony\Bridge\Doctrine\Form\ChoiceList\DoctrineChoiceLoader {#787 …} } |
| choice_name | Symfony\Component\Form\ChoiceList\Factory\Cache\ChoiceFieldName {#837 -option: Symfony\Bridge\Doctrine\Form\Type\DoctrineType::createChoiceName(object $choice, string|int $key, string $value): string {#778 …} } |
| choice_translation_domain | false |
| choice_translation_parameters | [] |
| choice_value | Symfony\Component\Form\ChoiceList\Factory\Cache\ChoiceValue {#839 -option: Symfony\Bridge\Doctrine\Form\ChoiceList\IdReader::getIdValue(?object $object = null): string {#838 …} } |
| choices | null |
| class | "App\Entity\Supplier" |
| compound | false |
| constraints | [] |
| csrf_field_name | "_token" |
| csrf_message | "The CSRF token is invalid. Please try to resubmit the form." |
| csrf_protection | true |
| csrf_token_id | null |
| csrf_token_manager | Symfony\Component\Security\Csrf\SameOriginCsrfTokenManager {#404 -requestStack: Symfony\Component\HttpFoundation\RequestStack {#89 …} -logger: Monolog\Logger {#124 …} -fallbackCsrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#403 …} -tokenIds: [ "submit" => 0 "authenticate" => 1 "logout" => 2 ] -checkHeader: 0 -cookieName: "csrf-token" } |
| data_class | null |
| disabled | false |
| duplicate_preferred_choices | true |
| em | Container3aJHhnl\EntityManagerGhost614a58f {#286 …12} |
| empty_data | "" |
| error_bubbling | false |
| error_mapping | [] |
| expanded | false |
| extra_fields_message | "This form should not contain extra fields." |
| form_attr | false |
| getter | null |
| group_by | null |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| id_reader | Symfony\Bridge\Doctrine\Form\ChoiceList\IdReader {#793 -singleId: true -intId: true -idField: "id" -associationIdReader: null -om: Container3aJHhnl\EntityManagerGhost614a58f {#286 …12} -classMetadata: Doctrine\ORM\Mapping\ClassMetadata {#794 …} } |
| inherit_data | false |
| invalid_message | "The selected choice is invalid." |
| invalid_message_parameters | [] |
| is_empty_callback | null |
| label | "Fournisseur" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| mapped | true |
| method | "POST" |
| multiple | false |
| placeholder | "Aucun fournisseur" |
| placeholder_attr | [] |
| post_max_size_message | "The uploaded file was too large. Please try to upload a smaller file." |
| preferred_choices | [] |
| priority | 0 |
| property_path | null |
| query_builder | null |
| required | false |
| row_attr | [] |
| separator | "-------------------" |
| separator_html | false |
| setter | null |
| translation_domain | null |
| trim | false |
| upload_max_size_message | Closure() {#788 class: "Symfony\Component\Form\Extension\Core\Type\FormType" use: { $options: Symfony\Component\OptionsResolver\OptionsResolver {#789 …} } } |
| validation_groups | null |
View Vars
| Variable | Value |
|---|---|
| action | "" |
| attr | [ "class" => "form-select" ] |
| attr_translation_parameters | [] |
| block_prefixes | [ "form" "choice" "entity" "_product_supplier" ] |
| cache_key | "_product_supplier_entity" |
| choice_translation_domain | false |
| choice_translation_parameters | [] |
| choices | [] |
| compound | false |
| data | null |
| disabled | false |
| duplicate_preferred_choices | true |
| errors | Symfony\Component\Form\FormErrorIterator {#969 -errors: [] -form: Symfony\Component\Form\Form {#892 …} } |
| expanded | false |
| form | Symfony\Component\Form\FormView {#967 …5} |
| full_name | "product[supplier]" |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| id | "product_supplier" |
| is_selected | Closure($choice, $value) {#1062 class: "Symfony\Component\Form\Extension\Core\Type\ChoiceType" } |
| label | "Fournisseur" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| method | "POST" |
| multipart | false |
| multiple | false |
| name | "supplier" |
| placeholder | "Aucun fournisseur" |
| placeholder_attr | [] |
| placeholder_in_choices | false |
| preferred_choices | [] |
| priority | 0 |
| required | false |
| row_attr | [] |
| separator | "-------------------" |
| separator_html | false |
| submitted | false |
| translation_domain | null |
| unique_block_prefix | "_product_supplier" |
| valid | true |
| value | "" |
image
Form type:
"Symfony\Component\Form\Extension\Core\Type\UrlType"
Errors
This form has no errors.
Default Data
| Property | Value |
|---|---|
| Model Format | same as normalized format |
| Normalized Format | null |
| View Format |
"" |
Submitted Data
This form was not submitted.
Passed Options
| Option | Passed Value | Resolved Value |
|---|---|---|
| attr | [ "class" => "form-control" "placeholder" => "https://exemple.com/image.jpg" ] |
[ "class" => "form-control" "placeholder" => "https://exemple.com/image.jpg" ] |
| label | "URL de l'image" |
same as passed value |
| required | false |
same as passed value |
Resolved Options
| Option | Value |
|---|---|
| action | "" |
| allow_extra_fields | false |
| allow_file_upload | false |
| attr | [ "class" => "form-control" "placeholder" => "https://exemple.com/image.jpg" ] |
| attr_translation_parameters | [] |
| auto_initialize | true |
| block_name | null |
| block_prefix | null |
| by_reference | true |
| compound | false |
| constraints | [] |
| csrf_field_name | "_token" |
| csrf_message | "The CSRF token is invalid. Please try to resubmit the form." |
| csrf_protection | true |
| csrf_token_id | null |
| csrf_token_manager | Symfony\Component\Security\Csrf\SameOriginCsrfTokenManager {#404 -requestStack: Symfony\Component\HttpFoundation\RequestStack {#89 …} -logger: Monolog\Logger {#124 …} -fallbackCsrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#403 …} -tokenIds: [ "submit" => 0 "authenticate" => 1 "logout" => 2 ] -checkHeader: 0 -cookieName: "csrf-token" } |
| data_class | null |
| default_protocol | "http" |
| disabled | false |
| empty_data | Closure(FormInterface $form) {#849 class: "Symfony\Component\Form\Extension\Core\Type\FormType" } |
| error_bubbling | false |
| error_mapping | [] |
| extra_fields_message | "This form should not contain extra fields." |
| form_attr | false |
| getter | null |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| inherit_data | false |
| invalid_message | "Please enter a valid URL." |
| invalid_message_parameters | [] |
| is_empty_callback | null |
| label | "URL de l'image" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| mapped | true |
| method | "POST" |
| post_max_size_message | "The uploaded file was too large. Please try to upload a smaller file." |
| priority | 0 |
| property_path | null |
| required | false |
| row_attr | [] |
| setter | null |
| translation_domain | null |
| trim | true |
| upload_max_size_message | Closure() {#854 class: "Symfony\Component\Form\Extension\Core\Type\FormType" use: { $options: Symfony\Component\OptionsResolver\OptionsResolver {#848 …} } } |
| validation_groups | null |
View Vars
| Variable | Value |
|---|---|
| action | "" |
| attr | [ "class" => "form-control" "placeholder" => "https://exemple.com/image.jpg" "inputmode" => "url" ] |
| attr_translation_parameters | [] |
| block_prefixes | [ "form" "text" "url" "_product_image" ] |
| cache_key | "_product_image_url" |
| compound | false |
| data | null |
| disabled | false |
| errors | Symfony\Component\Form\FormErrorIterator {#1063 -errors: [] -form: Symfony\Component\Form\Form {#895 …} } |
| form | Symfony\Component\Form\FormView {#971 …5} |
| full_name | "product[image]" |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| id | "product_image" |
| label | "URL de l'image" |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| method | "POST" |
| multipart | false |
| name | "image" |
| priority | 0 |
| required | false |
| row_attr | [] |
| submitted | false |
| translation_domain | null |
| type | "text" |
| unique_block_prefix | "_product_image" |
| valid | true |
| value | "" |
_token
Errors
This form has no errors.
Default Data
| Property | Value |
|---|---|
| Model Format | same as normalized format |
| Normalized Format | "csrf-token" |
| View Format | same as normalized format |
Submitted Data
This form was not submitted.
Passed Options
| Option | Passed Value | Resolved Value |
|---|---|---|
| attr | [ "data-controller" => "csrf-protection" ] |
[ "data-controller" => "csrf-protection" ] |
| block_prefix | "csrf_token" |
same as passed value |
| data | "csrf-token" |
same as passed value |
| mapped | false |
same as passed value |
Resolved Options
| Option | Value |
|---|---|
| action | "" |
| allow_extra_fields | false |
| allow_file_upload | false |
| attr | [ "data-controller" => "csrf-protection" ] |
| attr_translation_parameters | [] |
| auto_initialize | true |
| block_name | null |
| block_prefix | "csrf_token" |
| by_reference | true |
| compound | false |
| constraints | [] |
| csrf_field_name | "_token" |
| csrf_message | "The CSRF token is invalid. Please try to resubmit the form." |
| csrf_protection | true |
| csrf_token_id | null |
| csrf_token_manager | Symfony\Component\Security\Csrf\SameOriginCsrfTokenManager {#404 -requestStack: Symfony\Component\HttpFoundation\RequestStack {#89 …} -logger: Monolog\Logger {#124 …} -fallbackCsrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#403 …} -tokenIds: [ "submit" => 0 "authenticate" => 1 "logout" => 2 ] -checkHeader: 0 -cookieName: "csrf-token" } |
| data | "csrf-token" |
| data_class | null |
| disabled | false |
| empty_data | Closure(FormInterface $form) {#1109 class: "Symfony\Component\Form\Extension\Core\Type\FormType" } |
| error_bubbling | true |
| error_mapping | [] |
| extra_fields_message | "This form should not contain extra fields." |
| form_attr | false |
| getter | null |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| inherit_data | false |
| invalid_message | "The hidden field is invalid." |
| invalid_message_parameters | [] |
| is_empty_callback | null |
| label | null |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| mapped | false |
| method | "POST" |
| post_max_size_message | "The uploaded file was too large. Please try to upload a smaller file." |
| priority | 0 |
| property_path | null |
| required | false |
| row_attr | [] |
| setter | null |
| translation_domain | null |
| trim | true |
| upload_max_size_message | Closure() {#950 class: "Symfony\Component\Form\Extension\Core\Type\FormType" use: { $options: Symfony\Component\OptionsResolver\OptionsResolver {#970 …} } } |
| validation_groups | null |
View Vars
| Variable | Value |
|---|---|
| action | "" |
| attr | [ "data-controller" => "csrf-protection" ] |
| attr_translation_parameters | [] |
| block_prefixes | [ "form" "hidden" "csrf_token" "_product__token" ] |
| cache_key | "_product__token_hidden" |
| compound | false |
| data | "csrf-token" |
| disabled | false |
| errors | Symfony\Component\Form\FormErrorIterator {#1115 -errors: [] -form: Symfony\Component\Form\Form {#1105 …} } |
| form | Symfony\Component\Form\FormView {#1107 …5} |
| full_name | "product[_token]" |
| help | null |
| help_attr | [] |
| help_html | false |
| help_translation_parameters | [] |
| id | "product__token" |
| label | null |
| label_attr | [] |
| label_format | null |
| label_html | false |
| label_translation_parameters | [] |
| method | "POST" |
| multipart | false |
| name | "_token" |
| priority | 0 |
| required | false |
| row_attr | [] |
| submitted | false |
| translation_domain | null |
| unique_block_prefix | "_product__token" |
| valid | true |
| value | "csrf-token" |