为Filament的KeyValue组件设置键值长度验证规则
解决Filament KeyValue组件键值对验证问题
要给KeyValue组件的每个键和值添加3-30字符的长度验证,直接使用组件的keyRules()和valueRules()方法即可,修改后的代码如下:
KeyValue::make('description') ->label('description') ->keyLabel('key') ->valueLabel('value') ->addActionLabel(__('Add Feature')) ->default([]) // 为键添加验证规则:字符串类型,长度3-30 ->keyRules(['string', 'min:3', 'max:30']) // 为值添加验证规则:字符串类型,长度3-30 ->valueRules(['string', 'min:3', 'max:30']);
补充说明
- 如果需要自定义验证错误提示,可以结合
Illuminate\Validation\Rule类来设置:// 先引入Rule类 use Illuminate\Validation\Rule; KeyValue::make('description') // ... 原有配置 ->keyRules([ 'string', Rule::min(3)->message('键的长度不能少于3个字符'), Rule::max(30)->message('键的长度不能超过30个字符'), ]) ->valueRules([ 'string', Rule::min(3)->message('值的长度不能少于3个字符'), Rule::max(30)->message('值的长度不能超过30个字符'), ]); - 验证规则会自动作用于每一组新增的键值对,提交表单时会逐一校验所有条目。
内容的提问来源于stack exchange,提问作者parastoo
相关产品推荐
相关产品推荐

