DxDataGrid: проверка нескольких полей редактирования одновременно - PullRequest
0 голосов
/ 14 декабря 2018

Я использую 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 Ответ

0 голосов
/ 07 января 2019

Возможно, это неверный синтаксис (переоцените, попробуйте заключить в квадратные скобки) в вашем коде.

Я создал приведенный ниже пример и поместил те же проверки для имени и фамилии, пожалуйста, попробуйтеваши случаи использования и дайте мне знать результат.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

...