CakePHP 3,验证器:域名翻译和占位符

时间:2015-04-07 18:23:04

标签: cakephp cakephp-3.0

假设我有这个:

$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. 谢谢。

1 个答案:

答案 0 :(得分:2)

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

所以实际的做法是:

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