'require|in:ACTIVED,DISABLED', // 'field_category|分类' => 'in:NORMAL,PAGE,OTHER', 'field_name|名称' => 'require', 'field_table|所属表' => 'require|alphaDash', 'field_column_key|字段列名' => 'alphaDash', // 'field_column_datatype|数据类型' => 'in:string,decimal,text,dateTime', // 'field_column_default|列默认值' => 'checkDefault', // 'field_form_key' => 'in:id,name', // 'field_form_type|DOM表单类型' => 'alphaDash', // 'field_form_default' => 'chsDash', // 'field_refer_json' => 'isJson', // 'field_remark' => 'chsDash', 'field_extend_json' => 'isJson' ]; protected $message = []; protected $scene = [ 'add' => ['field_status', 'field_category', 'field_name', 'field_table', 'field_column_key', 'field_column_datatype', 'field_form_key', 'field_form_type', 'field_column_default', 'field_refer_json', 'field_extend_json'], 'update' => ['field_category', 'field_name', 'field_table', 'field_column_key', 'field_column_datatype', 'field_form_key', 'field_form_type', 'field_column_default', 'field_refer_json', 'field_extend_json'], 'update_status' => ['field_status'] ]; /** * @Desc 验证json * @Author Gorden * @Date 2024/2/22 14:09 * * @param $value * @return string|true */ protected function isJson($value) { if (is_json($value)) { return true; } return '数据格式错误~'; } protected function checkDefault($value, $rule, $data) { if ($data['field_column_datatype'] == 'dateTime') { if (strlen($value) >= 14 && false !== strtotime($value)) { return true; } return "数据格式错误~ 例如:2024-01-01 12:00:00"; } return true; } }