Javascript DxDataGrid:一次验证多个编辑字段
我正在角度应用程序中使用DxDataGrid。在这个应用程序中,我想输入4个日期。现在我需要应用一些验证规则,它们分别适用于每个字段。 问题是,如果其中一个字段发生更改,我需要验证所有四个字段。例如:如果输入的endDate早于startDate,则在endDate字段中会出现预期的验证错误。如果我现在将开始日期更改为结束日期之前的某个时间,则结束日期字段中的验证错误仍然存在,因为该字段未重新验证 这就是我到目前为止所做的:Javascript DxDataGrid:一次验证多个编辑字段,javascript,angular,typescript,devextreme,devextreme-angular,Javascript,Angular,Typescript,Devextreme,Devextreme Angular,我正在角度应用程序中使用DxDataGrid。在这个应用程序中,我想输入4个日期。现在我需要应用一些验证规则,它们分别适用于每个字段。 问题是,如果其中一个字段发生更改,我需要验证所有四个字段。例如:如果输入的endDate早于startDate,则在endDate字段中会出现预期的验证错误。如果我现在将开始日期更改为结束日期之前的某个时间,则结束日期字段中的验证错误仍然存在,因为该字段未重新验证 这就是我到目前为止所做的: <dx-data-grid> <dxi-col
<dx-data-grid>
<dxi-column dataField="inPeriodStart" caption="In-Period Start" dataType="date"">
<dxi-validation-rule reevaluate="true" type="custom" message="Both start and end period has to be specified"
[validationCallback]="validateStartAndEndInPeriod"></dxi-validation-rule>
<dxi-validation-rule reevaluate="true" type="custom" message="Start has to be before end." [validationCallback]="validateStartBeforeEnd"></dxi-validation-rule>
<dxi-validation-rule reevaluate="true" type="custom" message="Either In-Period or For-Period has to be specified."
[validationCallback]="validateInOrForSpecified"></dxi-validation-rule>
<dxi-validation-rule type="custom" [validationCallback]="verifyDate" message="In-Period Start must be a valid date"></dxi-validation-rule>
</dxi-column>
<dxi-column dataField="inPeriodEnd" caption="In-Period End" dataType="date">
//same rules
</dxi-column>
<dxi-column dataField="forPeriodStart" caption="For-Period Start" dataType="date">
//same rules
</dxi-column>
<dxi-column dataField="forPeriodEnd" caption="For-Period End" dataType="date">
// same rules
</dxi-column>
</dx-data-grid>
这可能是代码中的错误语法(重新评估,尝试放在方括号中)
我已经创建了一个下面的示例,我已经对名字和姓氏进行了相同的验证,请尝试您的用例并让我知道结果。
编辑:当编辑模式为表单时谢谢,您的示例非常有效,但遗憾的是,它没有解决我的问题。我需要编辑mode=“form”。如果我在你的演示应用程序中更改它,它将不再工作。如果我在我的应用程序中将其更改为批处理,它可以正常工作,但UI需要处于editmode表单。我不知道您的datagrid处于表单编辑模式,但这里有一些解决方案,您可以尝试。