From 7ed3f1706e689fbeb37c6c939ad7d2bd82bf85aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=BD=BB=E9=A3=8E2016?= <616036448@qq.com> Date: Thu, 29 Aug 2024 10:52:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81=E7=94=9F?= =?UTF-8?q?=E6=88=90=EF=BC=8CDataAnnotations=E7=94=9F=E6=88=90=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E8=8C=83=E5=9B=B4=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wwwroot/template/service_InputDto.cs.vm | 16 +- .../template/web_views_editDialog.vue.vm | 4 +- .../codeGen/component/genConfigDialog.vue | 2 +- .../system/codeGen/component/ruleDialog.vue | 155 ++++++++++++------ .../system/codeGen/component/verifyDialog.vue | 8 +- 5 files changed, 126 insertions(+), 59 deletions(-) diff --git a/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/service_InputDto.cs.vm b/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/service_InputDto.cs.vm index 64b7580d..91063fb4 100644 --- a/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/service_InputDto.cs.vm +++ b/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/service_InputDto.cs.vm @@ -94,9 +94,15 @@ if (@column.WhetherAddUpdate == "Y"){ @if(rule.Type=="pattern"){ @:[RegularExpression(@@"@(@FormatPattern(rule.Pattern))", ErrorMessage = "@(@rule.Message)")] } - @if(rule.Type=="length"){ + @if(rule.Type=="length"&&column.NetType.StartsWith("string")){ @:[StringLength(@(@rule.Max),MinimumLength = @(@rule.Min), ErrorMessage = "@(@column.ColumnComment)只能是@(@rule.Min)至@(@rule.Max)字符")] } + @if(rule.Type=="length"&&column.NetType.StartsWith("DateTime")){ + @:[Range(typeof(DateTime), "@(@rule.Min)", "@(@rule.Max)", ErrorMessage = "@(@column.ColumnComment)只能是@(@rule.Min)到@(@rule.Max)")] + } + @if(rule.Type=="length"&&(column.NetType.StartsWith("int")||column.NetType.StartsWith("long")||column.NetType.StartsWith("decimal")||column.NetType.StartsWith("float")||column.NetType.StartsWith("double"))){ + @:[Range(@(@rule.Min), @(@rule.Max), ErrorMessage = "@(@column.ColumnComment)只能是@(@rule.Min)至@(@rule.Max)")] + } } } @:public override @column.NetType @column.PropertyName { get; set; } @@ -151,9 +157,15 @@ if (@column.WhetherAddUpdate == "Y"){ @if(rule.Type=="pattern"){ @:[RegularExpression(@@"@(@FormatPattern(rule.Pattern))", ErrorMessage = "@(@rule.Message)")] } - @if(rule.Type=="length"){ + @if(rule.Type=="length"&&column.NetType.StartsWith("string")){ @:[StringLength(@(@rule.Max),MinimumLength = @(@rule.Min), ErrorMessage = "@(@column.ColumnComment)只能是@(@rule.Min)至@(@rule.Max)字符")] } + @if(rule.Type=="length"&&column.NetType.StartsWith("DateTime")){ + @:[Range(typeof(DateTime), "@(@rule.Min)", "@(@rule.Max)", ErrorMessage = "@(@column.ColumnComment)只能是@(@rule.Min)到@(@rule.Max)")] + } + @if(rule.Type=="length"&&(column.NetType.StartsWith("int")||column.NetType.StartsWith("long")||column.NetType.StartsWith("decimal")||column.NetType.StartsWith("float")||column.NetType.StartsWith("double"))){ + @:[Range(@(@rule.Min), @(@rule.Max), ErrorMessage = "@(@column.ColumnComment)只能是@(@rule.Min)至@(@rule.Max)")] + } } } @:public override @column.NetType @column.PropertyName { get; set; } diff --git a/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/web_views_editDialog.vue.vm b/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/web_views_editDialog.vue.vm index 91aedc53..14b543e8 100644 --- a/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/web_views_editDialog.vue.vm +++ b/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/web_views_editDialog.vue.vm @@ -26,7 +26,7 @@ @foreach (var column in Model.TableField){ if(@column.ColumnKey == "True"){ - @: + @: }else{ @@ -253,7 +253,7 @@ const rules = ref({ @:{required: true, message: '@(@triggerTip)@(@column.ColumnComment)!', trigger: '@(@trigger)',}, }else if(rule.Type=="array"){ @:{ type: 'array', required: true, message: '请选择至少一种@(@column.ColumnComment)', trigger: 'change', }, - }else if(rule.Type=="length"){ + }else if(rule.Type=="length"&&(column.EffectType=="Input"||column.EffectType == "InputTextArea")){ @:{ min: @(@rule.Min), max: @(@rule.Max), message: '长度应该是@(@rule.Min)到@(@rule.Max)', trigger: '@(@trigger)' }, }else if(rule.Type=="pattern"){ @:{ pattern: @(@rule.Pattern), message: '@(@column.ColumnComment)', trigger: '@(@trigger)' }, diff --git a/Web/src/views/system/codeGen/component/genConfigDialog.vue b/Web/src/views/system/codeGen/component/genConfigDialog.vue index 03f25190..a09f8177 100644 --- a/Web/src/views/system/codeGen/component/genConfigDialog.vue +++ b/Web/src/views/system/codeGen/component/genConfigDialog.vue @@ -289,7 +289,7 @@ const cancel = () => { const submit = async () => { state.loading = true; var lst = state.tableData; - console.log(lst); + // console.log(lst); let ignoreFields = ['remoteVerify', 'anyRule', 'columnKey']; lst.forEach((item: any) => { // 必填那一项转换 diff --git a/Web/src/views/system/codeGen/component/ruleDialog.vue b/Web/src/views/system/codeGen/component/ruleDialog.vue index 6f472c66..96ffb167 100644 --- a/Web/src/views/system/codeGen/component/ruleDialog.vue +++ b/Web/src/views/system/codeGen/component/ruleDialog.vue @@ -3,54 +3,84 @@ - + - + - + + 本字段的数据库类型是:【{{ state.column.dataType }}】,.Net类型是:【{{ state.column.netType }}】 + + + + - + - - - - - - - - - - - - - - - - - - - - - - - + + + +