gpt4 book ai didi

javascript - Dijit maxLength 通过 dojo 约束语言?

转载 作者:行者123 更新时间:2023-11-29 22:07:15 27 4
gpt4 key购买 nike

我正在从事一个项目,我试图在 XSLT 到 HTML 中将约束映射到 Dijit 控件。

其中一个约束是文本字段的最大长度。但是,我在 Dojo 约束语言中找不到这样的约束。

是否存在我在下面的示例中遗漏的约束(不包括 RegEx 约束)?

    <label for="shortField">shortField </label>
<input id="shortField" data-dojo-type="dijit/form/ValidationTextBox"
data-dojo-props = "name: 'shortField',
width:400,
height:150,
value: '1234567890',
required: true,
constraints: { max:10, maxLength:10, length:10, size:10 }
" />

为了保持一致性,我更愿意使用约束而不是设置 _TextBoxMixin 的 maxLength 属性。

(不幸的是,在约束中设置正则表达式也是不可取的,因为稍后可能会被覆盖,超出我的控制范围。)

最佳答案

似乎不存在这样的约束。此外,由于我发现我还需要验证最小长度,所以我选择了子类化 Dijit.Form.ValidationTextBox 的解决方案。

这是我为 isValid 方法选择的实现,它从约束中读取,因此我可以使生成的 XSL 代码保持一致。 )

    isValid : function(){
var ancestorsValid = this.inherited(arguments);

if(ancestorsValid){
//Acquire only meaningful validation boundaries.
var minLength = this.constraints && this.constraints.minLength ? Number(this.constraints.minLength) : null;
var maxLength = this.constraints && this.constraints.maxLength ? Number(this.constraints.maxLength) : null;

//Validate min and max if present.
return ((minLength === null) || this.value.length >= minLength) &&
((maxLength === null) || this.value.length <= maxLength);

}
return false;
}

关于javascript - Dijit maxLength 通过 dojo 约束语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20264063/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com