如何为jQuery表单验证器创建自己的验证方法

时间:2011-12-08 02:55:27

标签: jquery forms validation

我在这里使用jQuery表单验证脚本:http://jzaefferer.github.com/jquery-validation/jquery.validate.js

我需要的大多数方法(需要字段,maxlength等)已经捆绑到该脚本中,但我认为我需要编写两个特别重要的方法。

  1. 其中一个字段用于提交图像。首先,我需要检查提交的图像是否实际上是直接链接图像。

  2. 此外,我需要确认提交的图片不是GIF图片。

  3. 最后,(这可能很难)我需要它进入我的MySQL图像数据库并确认该图像以前没有提交过(在同一个网址下)

  4. 如果你能指出我至少其中一个发生的方向,请帮助我!谢谢!

    编辑,这对遇到此问题的其他人有用:

    第一个是通过添加一个验证它是图像的方法来解决的:来自Dave的代码帮助和来自Innerpeacer的addMethod建议。另请参阅b this问题中的bshack答案。另外,图像的正则表达式:

    ^(http\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(?:\/\S*)?(?:[a-zA-Z0-9_])+\.(?:jpg|jpeg|gif|png))$
    

    现在进入第二部分。

2 个答案:

答案 0 :(得分:1)

使用addMethod。 http://docs.jquery.com/Plugins/Validation/Validator/addMethod

但是,如果您确实需要验证该文件不是GIF,也没有将其上传到您的数据库,我认为您必须在服务器端进行此操作吗?

答案 1 :(得分:1)

我想在常规评论中写这个,但它有很多代码:

digits : function(value, element){ ... }, // comma here
image : function(value, element){
    return this.optional(element) || YOUR_REGULAR_EXP.test(value);
}, // comma here

只需要找到符合您标准的正则表达式,可能是这样的:

@"(.*?)\.(jpg|jpeg|png|gif)$