tag:github.com,2008:https://github.com/manic-r/manic-class-validator/releases Release notes from manic-class-validator 2023-07-24T03:29:52Z tag:github.com,2008:Repository/669534362/v0.1.0 2023-07-24T03:30:51Z manic-class-validator@v0.1.0 <h2>ValidationError异常返回类型中添加arguments参数</h2> <p>当前异常返回结构:</p> <div class="highlight highlight-source-ts notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="{ // 数据源值 target: Object; // 当前校验的数据字段名 property: string; // 当前校验字段的值 value: any; // 异常后返回的消息 constraints?: { [type: string]: string; }; // 如果有嵌套对象,其内部值的异常信息 children?: ValidationError[]; // 本次新追加:注解配置校验参数; arguments?: { [type: string]: string; }; }"><pre><span class="pl-kos">{</span> <span class="pl-c">// 数据源值</span> target: <span class="pl-v">Object</span><span class="pl-kos">;</span> <span class="pl-c">// 当前校验的数据字段名</span> property: <span class="pl-s1">string</span><span class="pl-kos">;</span> <span class="pl-c">// 当前校验字段的值</span> value: <span class="pl-s1">any</span><span class="pl-kos">;</span> <span class="pl-c">// 异常后返回的消息</span> constraints?: <span class="pl-kos">{</span> <span class="pl-kos">[</span><span class="pl-k">type</span>: <span class="pl-s1">string</span><span class="pl-kos">]</span>: <span class="pl-s1">string</span><span class="pl-kos">;</span> <span class="pl-kos">}</span><span class="pl-kos">;</span> <span class="pl-c">// 如果有嵌套对象,其内部值的异常信息</span> children?: <span class="pl-v">ValidationError</span><span class="pl-kos">[</span><span class="pl-s1"></span><span class="pl-kos">]</span><span class="pl-kos">;</span> <span class="pl-c">// 本次新追加:注解配置校验参数;</span> arguments?: <span class="pl-kos">{</span> <span class="pl-kos">[</span><span class="pl-k">type</span>: <span class="pl-s1">string</span><span class="pl-kos">]</span>: <span class="pl-s1">string</span><span class="pl-kos">;</span> <span class="pl-kos">}</span><span class="pl-kos">;</span> <span class="pl-kos">}</span></pre></div> <blockquote> <p><code>arguments</code>被创建的背景:出现异常后,constraints原本为校验的参数(例如<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Length/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Length">@Length</a>(2, 3)中的配置参数<code>2</code>和<code>3</code>),插件中原本时会自动与<code>message</code>消息进行转换,得到拼接后的异常消息,有些场景下不是很兼容,仍需要原本的配置参数,故追加了此字段;</p> </blockquote> manic-r