初始化

This commit is contained in:
2026-03-02 13:44:38 +08:00
commit 05b785083c
677 changed files with 58662 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
<?php
namespace addons\webman\form;
use ExAdmin\ui\contract\ValidatorAbstract;
use ExAdmin\ui\response\Response;
class Validator extends ValidatorAbstract
{
/**
* 验证
* @param array $data 表单数据
* @param bool $edit true更新false新增
* @return mixed
*/
function check(array $data, bool $edit)
{
$ruleArr = $edit ? $this->updateRule : $this->createRule;
$rules = [];
$messages = [];
foreach ($ruleArr as $field => $row) {
$rule = [];
if($row instanceof \Closure){
$row = call_user_func_array($row,[$data,$this->form]);
}
foreach ($row as $key => $item) {
if (is_numeric($key)) {
$rule[] = $item;
} else {
$rule[] = $key;
$index = strpos($key, ':');
if ($index !== false) {
$key = substr($key, 0, $index);
}
$messages["{$field}.{$key}"] = $item;
}
}
$rules[$field] = $rule;
}
$validator = validator($data, $rules, $messages);
if ($validator->fails()) {
return Response::success($validator->errors()->getMessages(), '', 422);
}
if($this->form->getSteps()){
if(!$this->form->isStepfinish()){
return Response::success([], '', 201);
}
}
return true;
}
}