跳到內容

ExpressionSyntax

編輯此頁

此約束條件檢查值是否為有效的 ExpressionLanguage 表達式。

基本用法

以下約束條件確保

  • promotion 屬性儲存的值是有效的 ExpressionLanguage 表達式;
  • shippingOptions 屬性也確保表達式僅使用特定變數。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// src/Entity/Order.php
namespace App\Entity;

use Symfony\Component\Validator\Constraints as Assert;

class Order
{
    #[Assert\ExpressionSyntax]
    protected string $promotion;

    #[Assert\ExpressionSyntax(
        allowedVariables: ['user', 'shipping_centers'],
    )]
    protected string $shippingOptions;
}

選項

allowedVariables

類型arraynull 預設值null

如果定義此選項,則表達式只能使用名稱包含在此選項中的變數。取消設定此選項或將其值設定為 null 以允許任何變數。

groups

類型array | string 預設值null

它定義此約束條件的驗證群組或群組。請閱讀更多關於驗證群組的資訊。

message

類型string 預設值此值應為有效的表達式。

這是驗證失敗時顯示的訊息。

payload

類型mixed 預設值null

此選項可用於將任意領域特定的資料附加到約束條件。Validator 元件不使用已設定的 payload,但其處理完全取決於您。

例如,您可能想要使用多個錯誤層級,以便根據錯誤的嚴重性,在前端以不同的方式呈現失敗的約束條件。

本作品,包括程式碼範例,依據 Creative Commons BY-SA 3.0 授權條款發布。
目錄
    版本