![](/img/trans.png)
[英]How to customize dropdown button in dx-toolbar (DevExtreme)?
[英]How to add required validation in dx-list of devextreme control for angular?
我想在 angular 的 devextreme 控件的 dx-list 中添加必填字段验证。
这是我的 html 片段。
<dx-list class="checkbox-list" id="chkCentreCareTypes" [dataSource]="careTypes" (onSelectionChanged)="onCareTypeChanged($event)"
selectionMode="multiple" displayExpr="text" valueExpr="value" [showSelectionControls]="true">
</dx-list>
而这个的Output如下。
一切都始于以下概念; DxList 不被视为 ui 编辑,因此 dxValidate 不会自然地为它工作。
所以你需要为它设计一个自定义验证。
以下是有关如何执行此操作的简单代码。
html
<dx-list #listx>
<dx-validator [adapter]="adapterConfig" validationGroup="validationGroup">
<dxi-validation-rule type="custom" [validationCallback]="validationCallback"></dxi-validation-rule>
</dx-validator>
</dx-list>
ts
@ViewChild("listx", {static: false}) listx: DxListComponent;
borderStyle: string = "none";
adapterConfig = {
getValue: () => {
return this.listx?.selectedItems?.length; //-- value to be validated
},
applyValidationResults: (e) => {
this.borderStyle = e.isValid ? "none" : "1px solid red";
}
};
validationCallback(params) {
return params.value!=0;
}
包括复位 function
adapterConfig = {
getValue: () => {
return this.listx?.selectedItems?.length; //-- value to be validated
},
applyValidationResults: (e) => {
this.borderStyle = e.isValid ? "none" : "1px solid red";
},
reset: () => {
this.fluxoItems;
}
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.