javascript - jQuery 验证 Uncaught ReferenceError

标签 javascript jquery validation

我有一个包含多个输入的表单,我想验证所需的输入。

container.all("input").each(function(){
if(this.hasAttribute("required")){
        if((this.val()==="") {
            undentifiedFunction()
        }
    }

(错误地)未定义 undentifiedFunction(),它会根据我的需要验证输入。我应该如何正确地做到这一点?

最佳答案

您可能想退后一步,看看表单验证的整体情况。在这里要求一个简单的代码片段会给你带来问题,直到你明白你真正需要先做什么。

您需要验证每个输入字段,如果失败,那么您需要用红色边框突出显示该输入,并可以选择打开输入下方的文本消息,解释问题所在。我们的想法是对非程序员的最终用户尽可能友好。

用户需要知道信用卡号字段不能包含字母。或者邮政编码字段的长度不能为 3 个字符。或者电话号码字段的长度不能为 5 位数字。他们可能会尝试添加这些字符或在长表单上意外地做错事情(想想:航空公司预订网站)。因此,您可以为所有验证规则创建一个很长的 if/else-if/else 或 switch/case 语句列表,但是有一种更好的方法来进行表单验证。

我建议客户端工作是构建一个正则表达式的 JSON 对象,它检查有效输入字段值的合法模式。 RegEx 字符串将根据字符串规则确定用户的输入是否有效。对于无效者,您可以通过添加“.invalid”类名来标记字段。您还可以使用 jQuery 来打开任何特定的错误消息。您仍然希望构建服务器端验证,但至少可以轻松在线找到预构建的 RegEx 值,并且将有助于简化您的验证,这样您就不必维护巨大的条件代码块(if/else -if/else 和 switch/case 语句)。条件 block 中很容易错过验证规则,但 RegEx 语句会捕获它们。

因此,人们认为“正确的方式”是什么可能并不重要。每个人都会有不同的看法。对您和您的网站有效的方法就是适合您的方法。最好批判性地思考您正在构建的内容,以便您将来能够更轻松地学习构建表单验证的技能。

首先查看此 RegEx 站点的示例部分:http://www.regular-expressions.info或者在网络上搜索电子邮件地址、电话号码、IP 地址、邮政编码、州缩写、信用卡号码格式等的预构建 RegEx 字符串...您可以使用在线工具进行测试,例如: http://regexr.com或离线工具,如:RegEx Builder,结束于:https://sourceforge.net/projects/regexbuilder/

这是我几年前构建的一个示例:http://www.eonline.com/resources/js/libs/eol/eol.regEx.js

今天我会以不同的方式构建它,但它具有 .match() 函数 + 一个入门 JSON RegEx 对象。它展示了表单验证模式匹配的复杂程度。哦,您需要确保将垃圾输入值排除在数据库之外。电子邮件如:blah@blah.com 或州名如“XY”或名字如“Darth”和姓氏如“Vader”。祝你好运!

关于javascript - jQuery 验证 Uncaught ReferenceError ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35731381/

相关文章:

jQuery :invalid HTML 5 form with required select element

c# - 验证空文本框

javascript - PAK 电话号码格式的 HTML5 模式

javascript - jQuery 中的调用函数

javascript - 如何创建指令来远程验证表单?

jquery - 在jquery中添加多个CKEditor实例

javascript - 如何获取从 html 文件发送到 php 的数据并接收并显示数据

javascript - Angular 6 : Npm ERR! 缺少脚本:部署到 heroku 时启动

JavaScript 警告 : Assignment to property of function parameter

javascript - 将电子邮件地址和 url 作为获取参数发送到 laravel