我正在使用jQuery Validation 插件来验证某些表单。我在表单中有一个文件字段,为此我在rules
子句中有一个条目,例如the_file: { required: true, accept: 'txt|doc' }
. 这成功地检测到缺少所选文件或选择了具有错误扩展名的文件,但是在我选择具有正确扩展名的文件后,错误消息不会被删除。我已经尝试过onfocusout
从句,但没有运气。FWIW,表单中的其他字段行为正常(例如,在我在字段中输入几个字符后,文本字段上的消息消失了)。有没有办法在选择合法文件后清除文件字段的消息?谢谢!
问问题
1353 次
1 回答
4
由于txt
和doc
是文件扩展名,因此您需要extension
规则。该 accept
规则仅适用于 Mime 类型。
http://jqueryvalidation.org/extension-method
另外,不要忘记包含该additional-methods.js
文件。
编辑:
“有没有办法在选择合法文件后清除文件字段的消息?”
添加change
事件处理程序并结合方法强制插件在.valid()
每次该字段的值更改时对文件字段运行验证测试。
$(document).ready(function () {
$("form#testform").validate({
rules: {
file1: {
required: true,
extension: 'txt'
}
}
});
$('#file1').on('change', function() { // fires every time this field changes
$(this).valid(); // force a validation test on this field
});
});
演示:http: //jsfiddle.net/9GcYj/42/
于 2013-08-01T01:23:54.503 回答