[英]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.