jQuery 验证插件日期格式 : date interferes with dateITA

标签 jquery validation datepicker

我正在为商业网站构建后端数据库 UI,并且有一些包含几个日期字段的表单。我在它们上使用 jQueryUI 日期选择器(dateFormat:'dd/mm/yyyy'),但也可以在输入字段中输入日期,所以我也想验证输入(我知道还有另一个插件验证日期选择器字段,但我想避免引入更多插件是可能的)。

我一直在研究如何解决 Chrome 区域设置的问题,并认为我已经解决了这个问题,但我还有一个在任何其他帖子中都没有提到过的不同问题。

我的客户很可能会使用 Chrome 来访问此内容,Chrome 不会验证这种格式的日期,因此我使用验证插件附带的 extra-methods.js 文件中的 dateITA。

function validate_newjob() {
$('#newjob').validate({
        rules: {
            DueDate: {
                required: true,
                dateITA: true 
            }
        },
        messages: {
            DueDate: {
                required: "* Required",
                dateITA: "Date format dd/mm/yyyy"
            }
        },
        errorClass: "formerror",
        errorElement: "span",
        errorPlacement: function(error, element) {
            $(element).next().after(error);
        }
    });
}

这很好用。当日期出错时,使用我的消息“日期格式 dd/mm/yyyy”进行验证。

示例:我开始输入 8/8/2012,当我输入时,显示错误消息“日期格式 dd/mm/yyyy”,然后当我输入完日期时,字段验证成功。

但奇怪的事情也发生了。如果我开始输入像 18/12/2012 这样的日期,内置的 date: true 验证方法就会启动并发出默认错误“请输入有效日期”。 (因为第 18 天的值未通过验证脚本)

使用 dateITA 附加方法时,如何阻止默认日期方法验证字段并给出漏报?

最佳答案

回答我自己的问题...

我为该字段分配了一个 class="date"(仅用于我的 css),它似乎会自动触发日期方法。

关于jQuery 验证插件日期格式 : date interferes with dateITA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12995890/

相关文章:

javascript - Laravel 如何在模态上初始化日期选择器

mysql - Codeigniter 中的 mysql 错误表单验证

c# - ASP.NET MVC2 无法获取元素的完整 ID

android - 无法在 Activity 中全屏显示日期选择器

Android 分隔线颜色 DatePicker 对话框

android - android timePickerDialog 的时间验证

c# - AntiXss 和我想要的结果

javascript - 如何将 svg 放在 div 中

javascript - 如何限制datepair.js中的时间范围?

python - 使用 Python C-API 确定对象是否有效?