You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在DevExtreme DataGrid中对比两列字段并实现跨列校验规则

你配置CompareRule的参数错误,comparisonType属性仅用于指定对比运算符,你缺少了comparisonTarget属性来指定需要对比的同行行内Inicio字段值。你原来写的comparisonType={("Inicio", ">")}属于JS逗号表达式,最终实际取值是">",运算符配置是对的,仅需要补充对比目标的配置即可。

修改后的Finalización列校验配置如下:

<Column
  dataField="Finalización"
  dataType="date"
  style={{ width: "100%" }}
>
  <Validator>
    <CompareRule
      message="Fecha fin es menor a fecha inicial"
      comparisonType=">"
      comparisonTarget={({ data }) => data.Inicio}
    />
    <RequiredRule />
  </Validator>
</Column>

补充说明:

  • comparisonTarget属性接收一个回调函数,函数的入参包含当前编辑行的完整数据对象,返回你要对比的目标字段值即可
  • 你现有代码中两个日期列都已经显式指定了dataType="date",无需额外做日期格式转换,组件会自动按照日期类型做大小对比
  • 批量编辑模式下,该校验规则会在你提交行修改、切换编辑行时自动触发,符合常规使用需求

内容的提问来源于stack exchange,提问作者Iván Arango

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 01:27:03