如何解决Magento 2:如何使用参数在 UI 组件中实现验证
好的。每个人都知道如何通过 XML 向 ui 组件字段添加验证规则。不幸的是,我找不到任何似乎知道如何实现需要一两个参数的规则的人。我确信知识就在那里,但没有人问过这个问题。所以就是这里了。
我希望为 textarea 实现 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"
作为每个条目的数组索引。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。