Skip to content

Commit d5c474c

Browse files
committed
[app-builder] configurable input length
1 parent 4772daf commit d5c474c

File tree

2 files changed

+11
-7
lines changed

2 files changed

+11
-7
lines changed

app-builder/plugins/aipp-plugin/src/main/java/modelengine/fit/jober/aipp/dto/AppInputParam.java

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public static AppInputParam from(Map<String, Object> rawParam) {
6969
.isRequired(cast(rawParam.getOrDefault("isRequired", true)))
7070
.isVisible(cast(rawParam.getOrDefault("isVisible", true)))
7171
.stringMaxLength(appearance.getStringMaxLength())
72-
.validator(createValidator(appearance, type))
72+
.validator(createValidator(appearance, type, rawParam))
7373
.build();
7474
}
7575

@@ -105,11 +105,11 @@ public void validate(Map<String, Object> dataMap) {
105105
/**
106106
* 根据外观配置创建校验器
107107
*/
108-
private static Predicate<Object> createValidator(AppearanceConfig config, String type) {
108+
private static Predicate<Object> createValidator(AppearanceConfig config, String type, Map<String, Object> rawParam) {
109109
String displayType = config.getDisplayType();
110110

111111
if (displayType == null) {
112-
return createDefaultValidator(type);
112+
return createDefaultValidator(type, rawParam);
113113
}
114114

115115
return switch (displayType) {
@@ -118,7 +118,7 @@ private static Predicate<Object> createValidator(AppearanceConfig config, String
118118
case "dropdown" -> createDropdownValidator(config.getOptions());
119119
case "switch" -> createBooleanValidator();
120120
case "multiselect" -> createArrayValidator(config.getOptions());
121-
default -> createDefaultValidator(type);
121+
default -> createDefaultValidator(type, rawParam);
122122
};
123123
}
124124

@@ -182,7 +182,7 @@ private static Predicate<Object> createBooleanValidator() {
182182
return value -> value instanceof Boolean;
183183
}
184184

185-
private static Predicate<Object> createDefaultValidator(String type) {
185+
private static Predicate<Object> createDefaultValidator(String type, Map<String, Object> rawParam) {
186186
if (type == null) {
187187
return value -> false; // 如果类型未定义,则校验失败
188188
}
@@ -192,7 +192,11 @@ private static Predicate<Object> createDefaultValidator(String type) {
192192
if (!(value instanceof String str)) {
193193
return false;
194194
}
195-
return lengthBetween(str, 1, DEFAULT_STRING_MAX_LENGTH, true, true);
195+
return lengthBetween(str,
196+
1,
197+
cast(rawParam.getOrDefault("stringMaxLength", DEFAULT_STRING_MAX_LENGTH)),
198+
true,
199+
true);
196200
};
197201

198202
case "integer"-> value -> {

app-builder/plugins/aipp-plugin/src/main/resources/application.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ app-engine:
5959
question:
6060
max-length: 20000
6161
user-context:
62-
max-length: 500
62+
max-length: 5000
6363
plugin:
6464
system-creator: 'system'
6565
elsa:

0 commit comments

Comments
 (0)