php - PHP:当输入字段与其他规则不匹配时,如何使 Rakit 验证使用默认值?
问题描述
我正在尝试使用 Rakit/Validation 库设置验证。
$validator = new \Rakit\Validation\Validator;
$in = ["port" => -1];
$validation = $validator->validate($in, [
'port' => 'default:80|integer|between:0,65535',
]);
$errors = $validation->errors();
print_r($errors->firstOfAll());
问题是,我没有将port
变量重置为默认值 (80),而是收到一条错误消息“端口必须介于 0 和 65535 之间”。
如果传递的值未能通过检查,是否可以使规则使用默认值?或者我必须编写自定义规则?
解决方案
根据 rakits 文档:
如果该属性为空或不存在,它只是为您的属性设置默认值。
因此,在设置值时它不起作用,因此在值无效时不起作用。
推荐阅读
- apache-kafka - Kafka JDBC Sink 连接器:未分配任务
- javascript - 从 ListA 中删除 ListB - 逻辑
- r - 使闪亮的模块反应
- oracle - PLS-00049:使用时出现错误:新
- javascript - 如何一键弹出模态并在模态中填充数据
- java - 匿名类的自定义 Gson 序列化器
- python - 如何在 python 中打印字典?(在单独的行上一一打印)
- android - 在 android 中集成 google 地方 sdk 时出错,“错误:键入 com.google.android.libraries.places.internal.nx”
- highcharts - HighCharts xAxis 显示在 0 行,所有列之间都有刻度线
- javascript - 基于用户输入的数组中的索引字符