j查询验证插件,检查输入默认值

jQuery validate plugin, check input defaultValue

本文关键字:检查 输入 默认值 插件 查询 验证      更新时间:2023-09-26

尝试使用 jquery 验证插件验证字段。我只想检查当前输入值是否不等于默认值。如果相等,则无效,请清理该值并显示错误消息。

像这样:

...
firstname:{
    required: function(element){                       
    return element.val() !== element.defaultValue;
    element.val('');
    }                                          
}
...

不幸的是,这不起作用。

好的,找到了一个解决方案。只需创建以下方法即可解决此问题。

jQuery.validator.addMethod("defaultInvalid", function(value, element){
    return !(element.value == element.defaultValue);
},jQuery.validator.messages.required);

下面是一个也适用于单选按钮的实现:

var isChanged = function ($element) {
    switch ($element.attr('type')) {
        case "radio":
            var $formElementsWithSameName = $element.closest('form').find(':input').filter(function () {
                return $(this).attr('name') == $element.attr('name');
            });
            return $formElementsWithSameName.filter(':checked').filter(function () {
                return $(this).prop('defaultChecked');
            }).length == 0;
        case "text":
            return $element.val() != $element.prop('defaultValue');
        default:
            console.error("No implementation of isChanged for element " + $element);
    }
};