标签: jquery-validate

我应该在名字和姓氏中加上下划线吗?

我们有一个包含名字和姓氏字段的表单.我被要求允许下划线.我不知道任何使用下划线的sql注入,但我也不知道有人在他们的名字中有下划线.是否有充分的理由允许或不允许名称中的下划线?

编辑:我正在使用参数和服务器端验证.这是通过jQuery验证插件进行客户端验证.

编辑2:我不是故意要讨论我是否应该进行任何验证......我只是想知道是否有任何令人信服的理由接受下划线,比如我应该接受爱尔兰人或连字符.基于此,我接受了奥伦的回答.

sql-injection whitelist jquery-validate

5
推荐指数
2
解决办法
1362
查看次数

在Ajax请求后手动绑定JQuery验证

我请求ASP.net MVC视图到现场框和视图中包含已标记了属性的表单字段由JQuery的不显眼的验证插件使用.

客户端脚本不工作然而,我的理论是,因为它的验证框架只被上早已由MVC视图已经被加载到现场箱的时间通过网页加载触发.

那么我怎样才能让验证框架知道它有新的表单字段来修复?

干杯,伊恩.

jquery-validate unobtrusive-validation asp.net-mvc-3

5
推荐指数
2
解决办法
7236
查看次数

自定义jQuery验证消息和标记

我有以下表格

<form id="myform" method="post" action="#">
    <div class="fields">
        <fieldset class="ui-widget ui-widget-content ui-corner-all">
            <legend class="ui-widget ui-widget-header ui-corner-all">&nbsp;Customer properties&nbsp;</legend>
            <input type="hidden" id="CustomerID" name="CustomerID"  value="${CustomerID}" />
            <br />
            <table width="100%" border="0" cellpadding="3" cellspacing="1">
            <tr valign="top">
                <td><label for="Code">Customer Code</label></td>
                <td><input type="text" id="Code" name="Code" value="${Code}" class="ui-widget-content" style="width:140px" /></td>
            </tr>
            <tr valign="top">
                <td><label for="CustomerName">Name</label></td>
                <td><textarea id="CustomerName" rows="2" cols="40" name="CustomerName" class="ui-widget-content">${CustomerName}</textarea></td>
            </tr>
            ...
            </table>
            <br />
        </fieldset>
    </div>
    <div style="text-align:right; padding: 8px 0px 0px 0px;">
        <input type="submit" id="btnSave" name="btnSave" class="button" value="Save" />
        <input type="button" id="btnCancel" name="btnCancel" class="button" value="Cancel" …
Run Code Online (Sandbox Code Playgroud)

jquery jquery-validate

5
推荐指数
1
解决办法
4841
查看次数

将数据属性与jquery验证一起使用

是否可以将数据属性用于JQuery Validate插件.我目前使用的是类名,例如

class="{required:true, messages:{required:'You must choose a site.'}}"` 
Run Code Online (Sandbox Code Playgroud)

但需要使用数据属性,例如

data-validate="{required:true, messages:{required:'You must choose a site.'}}"`
Run Code Online (Sandbox Code Playgroud)

输入可能具有多个与其关联的数据属性,这与验证无关,例如

<input name="txt_txt001" type="text" maxlength="30" id="txt_txt001" class= "     
{required:true, messages:{required:'This field is required.'} }" data-
children="ddl_txt007,ddl_txt008" data-optionGroup="1" data-optionGroupParent=""  />
Run Code Online (Sandbox Code Playgroud)

我知道ketchup插件提供了这个,但不想转移到它,因为我已经把大量工作用于使用JQuery Validate进行页面设置.

谢谢

jquery jquery-validate custom-data-attribute

5
推荐指数
2
解决办法
2万
查看次数

jQuery验证不评估所有字段

我正在为一个页面的新布局工作,这是一个基于向导的客户订购系统.他们订购材料组但这些材料可以在订购过程中组合在一起,这样他们就可以按照红色,蓝色和/或绿色的任意组合订购10个小工具.字段的总和不能超过预先计算的最大值.大多数材料是每组简单的单一选择.

我已经在其他页面中使用了jQuery validate,并且我使用了addClassRules方法来验证页面上的所有输入元素,并且它运行得很好.我正在处理的当前示例令我感到困惑,因为它只会在表单提交时捕获第一个验证失败,但在提交之后它通常会捕获其他的,但从来没有完整的验证失败列表.

这是我的jsfiddle样本,所以你可以看到我在一起的东西:http://jsfiddle.net/brianmat/2nV5u/

我使用了一个错误计数代码段,该代码片段在多个站点上都没有问题.在这个例子中,即使所有7个文本框都留空,我也只得到1个错误.

我唯一的主要区别是我正在做一个rowpan来分组我的项目,但我看不出那会是一个问题.我知道这最终会变得非常简单,但我现在只是碰壁了.

jQuery验证代码没什么特别的:

 $.validator.addClassRules({
    NumericInput: {
        required: true
    }
});

$("#theForm").validate({
    invalidHandler: function(e, validator) {
        var errors = validator.numberOfInvalids();
        if (errors) {
            var message = errors == 1 ? 'You missed 1 field. It has been highlighted below' : 'You missed ' + errors + ' fields.  They have been highlighted below';
            $("div.error span").html(message);
            $("div.error").show();
        } else {
            $("div.error").hide();
        }
    },
    errorPlacement: function(error, element) {},
    submitHandler: function(form) {
        $("div.error").hide();
        form.submit();
    }
});
Run Code Online (Sandbox Code Playgroud)

其余代码只处理小计和仅数字数据输入. …

validation jquery jquery-validate

5
推荐指数
1
解决办法
4012
查看次数

Twitter Bootstrap typeahead和jQuery Validate

我想在Twitter Bootstrap typeahead的文本输入字段上进行验证.所以我尝试按如下方式实现它.名称字段上的验证正常工作.如果你开始输入它并再次清除该字段,验证就会启动.但是在位置字段data-provide="typeahead"上,它就不会发生.但是,当您单击"提交"按钮时,确认会启动.

我试过调试它,但据我所知,Bootstrap和jQuery Validate都正确地注册了它们的事件处理程序.更奇怪的是,在验证之前安装了typeahead.所以人们会期望打破先行.但它不是......

index.html的:

<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" type="text/css" href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.1.0/css/bootstrap-combined.min.css" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.10.0/jquery.validate.js"></script>
<script type="text/javascript" src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.1.0/js/bootstrap.js"></script>
<script type="text/javascript">
$(function() {
    $('[data-provide="typeahead"]').each(function() {
        var url = $(this).attr('data-url');
        $(this).typeahead({
            source : function(query, process) {
                return $.get(url, {
                    name : query
                }, function(data) {
                    var json = JSON.parse(data);
                    return process(json.locations);
                });
            },
            items : 5
        });
    });
    $('#settings-form').validate({
        rules: {
            name: {
                required: true
            },
            location: {
                required: true
            }
        },
        highlight: …
Run Code Online (Sandbox Code Playgroud)

jquery-validate typeahead twitter-bootstrap

5
推荐指数
1
解决办法
6357
查看次数

JQuery Validator插件电话验证

我遇到了jquery验证器验证电话号码的问题.因此,在我有电话号码输入的表单中,我使用jquery的其他方法来验证电话.这是代码:

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>stuff/title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"></script>
<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/additional-methods.min.js"></script>
</head>
<body>
<script>
$(document).ready(function(e) {
    var val = $('#everything').validate({
        onkeyup: false,
        errorClass: "req_mess",
        ignore: ":hidden",
        rules: {
            phone: {
                required: true,
                minlength: 10,
                phoneUS: true
            }
        },
        messages: {
            phone: {
                required: "Please enter your phone number",
                phoneUS: "Please enter a valid phone number: (e.g. 19999999999 or 9999999999)"
            }
        }
    });
});
</script>
<form name="everything" id="everything" action="Private/Insert.php" method="post" style="display:none;" >
    Phone …
Run Code Online (Sandbox Code Playgroud)

html forms validation jquery jquery-validate

5
推荐指数
1
解决办法
3万
查看次数

使用jQuery validate plugin为多个字段输出单个错误消息

我正在使用jQuery validate插件来验证表单.所有字段都是必填字段,并且错误消息的空间在表单上受到限制,因此如果我的规则中的任何字段未完成,则可以显示单个错误消息,其中说:"所有字段必须在您提交之前完成形式'?

我的jQuery知识是有限的,我只能从示例中找到如何设置它,以便它使用以下代码为每个字段输出单独的错误消息:

$(".contact-form").validate({
  errorLabelContainer: ".form-errors",
  wrapper: "li",
  ignore: ".ignore",
  errorElement: "em",
  rules: {
    first_name: { required: true },
    last_name: { required: true },
    email: { required: true, email: true }
  },
  messages: {
    first_name: "Please enter your first name",
    last_name: "Please enter your last name",
    email: { required: "Please enter your email address", email: "Your email address must be in the format of name@domain.com" }
  },
});
Run Code Online (Sandbox Code Playgroud)

jquery jquery-validate

5
推荐指数
1
解决办法
1万
查看次数

jQuery验证验证禁用的输入字段

我已经使用jQuery验证为我的表单设置了验证.不幸的是,在$("#clientConfigurationForm").valid()用户启用/禁用复选框时,我想调用某些点来强制重新评估.我希望当它们被禁用并被.valid()调用时,忽略当前无效的输入表单(并失去验证状态).目前这没有发生.我怎样才能让它发挥作用?

复选框事件

$("#clientConfigurationForm").on("change","input[type=checkbox]",function(){
    $(this)
        .closest("div")
        .find("input, select")
        .not(this)
        .not(":submit")
        .prop("disabled", !$(this).prop("checked"))
        .each(function(){
            $(this).valid();
        });
});
Run Code Online (Sandbox Code Playgroud)

验证码

$("#clientConfigurationForm").validate({
    onkeyup: function (element) {
        $(element).valid();
    },
    focusInvalid: false,
    invalidHandler: function(form, validator) {
        if (!validator.numberOfInvalids())
            return;

        // Find out what my ID is
        var formIndex = $(validator.errorList[0].element).prop("id").replace(/[A-Za-z]+/g, '');
        $("#clientSettingsLinks a").eq(formIndex).trigger("click");
    },
    errorPlacement: function (error, element) {
        var parent = $(element).parent();
        var validationContainer = parent.find(".validationResult");

        if (validationContainer.length == 0){
            validationContainer = $('<span class="validationResult"><i class="'+errorIconClass+' inputValidationIcon"></i></span>');
            parent.append(validationContainer);
        }

        validationContainer.addClass("tooltip").attr("title", error.text());
    },
    highlight: …
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-validate

5
推荐指数
1
解决办法
6825
查看次数

将jquery验证添加到kendo ui元素

我已经查看了很多这方面的帖子,并且在我添加以下内容时确实调整了我的字段.

$.validator.setDefaults({
    ignore: []
});
Run Code Online (Sandbox Code Playgroud)

我仍然缺少的部分是添加input-validation-error类来通知用户.它适用于我的其他输入元素(非剑道).我已经尝试手动添加类,$.validator.setDefaults但似乎没有任何工作.

那里有没有一个例子,或者有人让它工作?

我不确定我做得对,但这是我试图手动添加的.

$.validator.setDefaults({
    ignore: [],
    errorClass: "input-validation-error",
    errorElement: "input",
    highlight: function (element, errorClass) {
        $(element).addClass(errorClass)
    },
    unhighlight: function (element, errorClass) {
        $(element).removeClass(errorClass)
    }
});
Run Code Online (Sandbox Code Playgroud)

jquery-validate asp.net-mvc-4 kendo-ui

5
推荐指数
1
解决办法
4517
查看次数