Dcatadmin框架自定义前端验证规则需要刷新页面才会生效
1. 运行环境
1). 当前使用的 Laravel 版本?
Laravel Framework 8.83.27
2). 当前使用的 php/php-fpm 版本?
PHP 版本:7.4.3
3). 当前系统
Windows 10
4). 业务环境
开发环境
2. 问题描述?
我在/app/Admin/bootstrap.php文件中写了一个自定义前端验证规则,在控制器的form方法中使用,但是在使用过程中,需要手动刷新页面才会生效,通过表格的新增按钮或者修改按钮点击到表单中不生效,要进入表单后手动刷新页面才会生效
Field\Text::macro('decimal', function (int $length = 1, ?string $error = null) {
// 前端验证逻辑扩展
Admin::script(
<<<'JS'
Dcat.validator.extend('decimal', function ($el) {
return !/^\d+(\.\d{1,3})?$/.test($el.val());
});
JS
);
return $this->attribute([
'data-validation' => 'decimal',
'data-decimal' => $length,
'data-decimal-error' => str_replace(
[':attribute', ':decimal'],
[$this->label, $length],
$error ?: "只能输入小数值"
),
]);
});
这是我写在bootstarp.php中的验证方法,在form方法中使用,$form->text(‘price’)->decimal()->required();
3. 您期望得到的结果?
在点击按钮进入表单后,在字段中输入值则验证,而不需要手动刷新页面
有没有可能 你写的哪里有问题 也没贴代码 不知道你咋写的