在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:ngtool开源软件地址:https://gitee.com/jjxliu306/ngtool开源软件介绍:ngtool介绍ng-form动态表单生态之后端校验、pdf生成等工具集 简介配套ng-form前端动态表单的后端服务,ng-form前端组件一览: element-ui版本地址:https://gitee.com/jjxliu306/ng-form-element iview版本地址:https://gitee.com/jjxliu306/ng-form-iview element-plus版本地址:https://gitee.com/jjxliu306/ng-form-elementplus 安装<dependency> <groupId>io.github.jjxliu306</groupId> <artifactId>ng-form-core</artifactId> <version>1.0.1</version></dependency> 使用示例package com.ng;import java.io.IOException;import org.apache.commons.io.IOUtils;import com.alibaba.fastjson.JSON;import com.ng.form.validator.NgFormValidator;import com.ng.form.validator.entity.FormValidator;public class TestValidator { public void test1() throws IOException { String template = IOUtils.toString(getClass().getResource("/template.json") , "UTF-8"); String value = IOUtils.toString(getClass().getResource("/value.json") , "UTF-8"); NgFormValidator validator = new NgFormValidator(); FormValidator fv = validator.validator(template, value); System.out.println(JSON.toJSONString(fv)); } public static void main(String[] args) throws IOException { TestValidator test = new TestValidator(); test.test1(); }} 其中template.json如下 { "list": [ { "type": "input", "label": "姓名", "options": { "type": "text", "width": "100%", "defaultValue": "", "placeholder": "请输入", "clearable": false, "maxLength": 0, "prepend": "", "append": "", "tooptip": "", "hidden": false, "disabled": false, "dynamicHide": false, "dynamicHideValue": "" }, "model": "name", "key": "input_1628755200021", "rules": [ { "required": true, "message": "姓名不能为空", "trigger": [ "blur" ] } ] }, { "type": "textarea", "label": "地址", "options": { "width": "100%", "maxLength": 0, "defaultValue": "", "rows": 4, "clearable": false, "tooptip": "", "hidden": false, "disabled": false, "placeholder": "请输入", "dynamicHide": false, "dynamicHideValue": "" }, "model": "address", "key": "textarea_1628755200021", "rules": [ { "required": true, "message": "地址不能为空", "trigger": [ "blur" ] } ] }, { "type": "radio", "label": "性别", "options": { "disabled": false, "hidden": false, "defaultValue": "1", "dynamic": 0, "tooptip": "", "remoteFunc": "", "dataPath": "", "remoteValue": "", "remoteLabel": "", "linkage": false, "options": [ { "value": "1", "label": "男" }, { "value": "2", "label": "女" } ], "dynamicHide": false, "dynamicHideValue": "" }, "model": "sex", "key": "radio_1628755200021", "rules": [ { "required": false, "message": "性别不能为空", "trigger": [ "change", "blur" ] } ] }, { "type": "textarea", "label": "男性输入", "options": { "width": "100%", "maxLength": 0, "defaultValue": "", "rows": 4, "clearable": false, "tooptip": "", "hidden": false, "disabled": false, "placeholder": "请输入", "dynamicHide": false, "dynamicHideValue": "" }, "model": "nanInput", "key": "textarea_1628755202176", "rules": [ { "required": false, "message": "男性输入不能为空", "trigger": [ "blur" ] }, { "vtype": 2, "pattern": "", "script": "if($.sex == 1){\nreturn $.nanInput\n}else{\nreturn true\n}", "message": "男性输入不能为空", "required": false, "trigger": [ "change", "blur" ] } ] } ], "config": { "labelPosition": "left", "labelWidth": 100, "size": "mini", "outputHidden": true, "hideRequiredMark": true, "customStyle": "" }} value.json如下 {"name":"小米" , "address":"" , "sex":1 } 最终输出结果如下 { "failField":[ { "fieldName":"地址", "message":"地址不能为空", "model":"address", "type":"textarea" }, { "fieldName":"男性输入", "message":"男性输入不能为空", "model":"nanInput", "type":"textarea" } ], "result":false} api说明在线api地址:https://apidoc.gitee.com/jjxliu306/ngtool/ 交流 |
请发表评论