我是Laravel的新手,在这里我将Laravel的验证器用于不在Laravel中构建的项目。
我需要知道是否有一个内置的Laravel验证器来验证数组中所有对象中某个字段的总和。
我的输入看起来像:
{
"customer":95,
"name": "My object",
"values":
[
{
"name": "AAA",
"percentage": 50
},
{
"name": "BBB",
"percentage": 50
}
]
}
我需要确保我的百分比之和为100。有没有简单的方法?
答案 0 :(得分:2)
我认为最好创建一个custom validation rule。在验证中,我将把values数组转换为一个集合并使用collection sum method。例如:
<ng-quill-editor ng-model="vm.message" toolbar="true" link-tooltip="true"
image-tooltip="true" toolbar-entries="font size bold list bullet italic
underline strike align color background link image" editor-required="true"
required="" error-class="input-error"></ng-quill-editor>
答案 1 :(得分:1)
将Custom Validation Rules用于单个属性验证。
将After Validation Hook用于其他或更复杂的验证,例如多个字段的总和。
public function withValidator($validator)
{
$validator->after(function ($validator) {
if ($this->get('field1') + $this->get('field2') + $this->get('field3') != 100) {
$validator->errors()->add(null, 'The sum of field1, field2 and field3 must be 100');
}
});
}