DxDataGrid: проверка нескольких полей редактирования одновременно
Я использую DxDataGrid в угловом приложении. В этом приложении я хочу ввести 4 даты. Теперь мне нужно применить некоторые правила проверки, которые прекрасно работают для каждого поля отдельно. Проблема в том, что мне нужно проверить все четыре поля, если одно из них изменится. Например: если я ввожу endDate, который находится перед startDate, я получаю ошибку проверки, как и ожидалось в поле endDate. Если я изменю startDate сейчас на некоторое время до того, как endDate останется ошибка проверки в поле endDate, потому что это поле не проверено повторно.
Это то, что я до сих пор:
<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>
Как мне решить эту проблему? Спасибо за любой вклад
1 ответ
Возможно, это неправильный синтаксис (переоцените, попробуйте заключить в квадратные скобки) в вашем коде.
Я создал приведенный ниже пример и поместил те же проверки для имени и фамилии, пожалуйста, попробуйте варианты использования и дайте мне знать результат. https://codesandbox.io/s/0x28kn2v4n
РЕДАКТИРОВАТЬ: Когда режим редактирования формы https://www.devexpress.com/Support/Center/Question/Details/T429488/dxdatagrid-how-to-force-row-validation-if-there-are-no-changes-in-the-form-edit-mode