【发布时间】:2018-12-05 11:29:05
【问题描述】:
我的 Table 类之一中有一个验证规则,如下所示:
public function validationDefault(Validator $validator)
{
$validator
->scalar('comment')
->maxLength('comment', 3000)
->requirePresence('comment', 'create')
->notEmpty('comment');
return $validator;
}
这会验证输入的 comment 字段,这意味着它的长度不能超过 3000 个字符。在 PHP 中工作时所有这些都很好。
我的应用程序的一部分使用了 JavaScript 字符计数器——当用户键入时,它会告诉用户他们在一个字段中还有多少剩余字符。用于此的 js 工作正常,硬编码限制为 3000。
但是,我想知道是否有办法避免在我的 js 中硬编码这个限制?因为否则我的代码不是 DRY,因为我在多个地方定义了 3000 个限制,如果它发生变化,那么记住/更新就会有问题。
是否可以直接从validationDefault 读取maxLength 属性以获取comment 字段?这个问题涉及如何访问 Table 类中定义的数据;我很了解如何通过 ajax 将其传递给 js。
我没有任何进一步的代码可以显示,因为我不知道这是否/如何实现。
CakePHP 3.5.13
【问题讨论】:
标签: php cakephp cakephp-3.0