gpt4 book ai didi

javascript - ExtJS 'datefield' 验证覆盖

转载 作者:行者123 更新时间:2023-11-29 15:03:58 24 4
gpt4 key购买 nike

我需要一个具有一些自定义行为的日期列,特别是我需要能够在同一字段中输入日期或年龄(年龄保持呈现为年龄,日期保持呈现为日期)

例如。输入“23”将使字段中的“23”保留为有效值,或者输入“22/1/88”将使“22/1/88”保留为有效值。

所以我尝试使用这样定义的编辑器设置日期列(注意验证覆盖):

editor: {
xtype: 'datefield',
format: 'd/m/Y',
validate: function(){
if(!this.value.match(SOME_REGEX){
if(!this.value.match(SOME_REGEX){
return false;
}
}
return true;
}
}

Chrome 调试器显示验证事件和日期验证功能正确,但是,当我尝试输入年龄 (int) 时,在点击输入字段后,该字段获取值并尝试从中创建日期,呈现将猜测的日期返回字段并调用THEN验证。

我能找到的唯一记录在案的验证前事件是

stripCharsRe

默认为 NULL。

任何人都可以阐明这一点吗?

最佳答案

在这种情况下,我建议您使用/配置一个 TextField作为编辑器组件并编写自定义验证器(就像在您的代码段中一样)来验证值。

(我知道这不会直接回答您的问题,但由于 DateField 是为处理 Date 对象而构建的,因此您当前的方法会充满问题)

编辑 -

如果必须使用日期选择器,请使用 TriggerField作为您的基础组件并在其 onTriggerclick 上显示 DatePicker . (您必须设置一个处理函数,当用户使用此选择器选择日期时将调用该函数。请参阅 DatePicker.handler 配置选项)

关于javascript - ExtJS 'datefield' 验证覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5693512/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com