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