如何在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
相关产品推荐
相关产品推荐

