簡體   English   中英

jQuery validate插件,檢查輸入defaultValue

[英]jQuery validate plugin, check input defaultValue

嘗試使用jquery validate插件驗證字段。 我只想檢查當前輸入值是否不等於defaultValue。 如果相等,則無效,清除該值並顯示錯誤消息。

像這樣:

...

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);
    }
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM