0

好的。关于如何通过 XML 向 ui-component 字段添加验证规则,每个人都有答案。不幸的是,我找不到任何人似乎知道如何实现需要一两个参数的规则。我确信知识就在那里,但没有人问过这个问题。所以就在这里。

我正在寻找实现min-words文本区域的验证规则。我有这样的事情:

<field name="text_area">
    <argument name="data" xsi:type="array">
        <item name="config" xsi:type="array">
            ...
            <item name="validation" xsi:type="array">
                <item name="required-entry" xsi:type="boolean">true</item>
                <item name="min-words" xsi:type="array">
                    <item name="length" xsi:type="number">10</item>
                </item>
            </item>
            ...
        </item>
    </argument>
</field>

但我猜,这并不完全有效。我很接近,但无法弄清楚“长度”参数的真正含义是什么,并且查看rules.js文件并没有提供任何线索。

4

1 回答 1

0

所以对于min-words规则,我发现它很简单:

<item name="min-words" xsi:type="number">10</item>

看到参数的其他实现(不在验证规则中),我想我会尝试这个range-words规则,并发现了这种格式:

<item name="range-words" xsi:type="array">
   <item name="0" xsi:type="number">5</item>
   <item name="1" xsi:type="number">10</item>
</item>

这种格式将服务于需要参数的类似规则,例如zip-range, validate-number-range, validate-digits-range, validate-range, validate-date-range, validate-item-quantity, validate-file-type. 注意name="0"为每个条目使用 as 数组索引。

于 2021-07-02T17:55:47.940 回答