CakePHP 3,验证器:域转换和占位符

CakePHP 3, validator: domain translation and placeholders

假设我有这个:

$validator->add('title', [
    'lengthBetween' => [
        'message'   => 'Must be between %d and %d chars',
        'rule'      => ['lengthBetween', 3, 100]
    ]
])

我想知道:

  1. 如何指示域转换(使用 CakePHP 2.x,您可以使用 $validationDomain 模型 属性);
  2. 如何使用占位符来验证消息(似乎不适用于 %s/%d{0})。

谢谢。

占位符已在 3.x 中删除。这背后的原因是现在更容易翻译消息以进行验证,因为它们现在存在于方法中而不是 class 属性.

所以实际的做法是:

$validator->add('title', [
    'lengthBetween' => [
        'message'   => __('Must be between {0} and {1} chars', 3, 100),
        'rule'      => ['lengthBetween', 3, 100]
    ]
])