好的。关于如何通过XML将验证规则添加到ui组件字段,每个人都有答案。不幸的是,我找不到任何人知道如何实现需要一两个参数的规则。我确信知识是存在的,但没有人问这个问题。就是这样。
我希望为文本区域实现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
文件并不能提供任何线索。
所以对于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"
作为每个条目的数组索引。