在验证之前对jQuery验证插件数据进行消毒

用户名

是的,我知道数据清理和验证必须在服务器端完成,但是请与我在一起。

stackoverflow.com由于未提供协议因此使用以下脚本将使验证失败。如果输入的URL没有协议,我希望在客户端验证之前在输入值中添加默认协议(http://)。我不希望放松验证方法,以在没有协议的情况下静默接受URL,因为用户应该知道已添加了协议。

如何做到最好?

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>Testing</title>  
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.js" type="text/javascript"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.13.1/jquery.validate.js" type="text/javascript"></script>
        <script type="text/javascript"> 
            $(function(){
                var validator=$("#myForm").validate({
                    rules: {
                        url: {url:true,}
                    },
                });

                //Added per Monax's suggestion.
                $('#url').blur(function(){this.value=this.value.substring(0,4)=='http'?this.value:(this.value?'http://'+this.value:'');});;
            });
        </script>
    </head>

    <body>
        <form id="myForm" method="post">
            <input name="url" id="url" value="">
            <input type="submit" />
        </form>
        <?php echo('<pre>'.print_r($_POST,1).'</pre>');?>
    </body> 
</html> 
活泼的

您不想编写自定义规则,而是坚持在验证之前操纵数据。由于插件会自动捕获所有验证触发事件,因此您的选择受到限制。这是我建议的解决方法。

  1. 创建两个输入字段...

    • 一个对用户可见(无验证)
    • 一个隐藏以供验证。(虽然显示了验证消息)
  2. 在将任何数据输入可见字段后,您将根据需要以编程方式将数据复制并修改到隐藏字段中。

  3. 然后以编程方式触发对隐藏字段的验证。

这样的事情。

HTML:

<input type="text" id="url" />
<input type="hidden" name="url" />

jQuery的:

$('#url').on('blur keyup', function() {
    var myurl = $(this).val(); // entered value

    // manipulate and sanitize the value as desired

    $('[name="url"]').val() = newvalue; // copy the new value into the hidden field.
    $('[name="url"]').valid(); // trigger validation on the hidden field
});

注意事项

  • 您必须通过ignore选项正确设置允许选项的方式来启用对隐藏字段的验证[]将启用对所有隐藏字段的验证。

  • 您可能必须使用errorPlacement选项来调整此隐藏字段的错误消息的位置。您可以有条件地执行此操作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

消毒之前是否进行用户输入验证?

来自分类Dev

在没有jquery验证插件的ajax发布之前验证表单

来自分类Dev

使用Jquery Validation插件进行行验证

来自分类Dev

使用jQuery validate插件进行URL验证

来自分类Dev

在没有插件的Jquery中进行验证

来自分类Dev

在插入数据之前对PHP进行消毒

来自分类Dev

jQuery验证程序插件传递数据

来自分类Dev

jQuery验证插件不发送POST数据

来自分类Dev

jQuery验证程序插件传递数据

来自分类Dev

jQuery验证插件,使用选项的数据元素作为验证检查

来自分类Dev

不需要的Jquery验证插件数字不起作用

来自分类Dev

ckeditor数据未通过jQuery验证进行验证

来自分类Dev

在php中进行消毒和验证有什么区别?

来自分类Dev

jQuery Validator插件未使用复杂名称进行验证

来自分类Dev

jQuery validate插件:默认情况下对blur()进行验证

来自分类Dev

使用jquery.validate.js插件进行条件表单验证

来自分类Dev

使用插件对 URL 进行 JQuery 验证需要自定义

来自分类Dev

进行超链接之前的数据表验证

来自分类Dev

您应该在哪里验证/消毒数据?

来自分类Dev

使用jQuery验证插件未执行的验证

来自分类Dev

使用jQuery验证插件验证选择

来自分类Dev

jQuery验证插件:验证多个输入文件

来自分类Dev

jQuery验证插件基于模式的验证?

来自分类Dev

jQuery验证插件-不必要的验证

来自分类Dev

使用选择的插件的JQuery验证表单进行Bootstrap 3验证状态

来自分类Dev

在jQuery Validate插件中,如何仅验证必填字段为空(不进行语法验证)?

来自分类Dev

使用选择的插件的JQuery验证表单进行Bootstrap 3验证状态

来自分类Dev

jQuery验证插件点击按钮

来自分类Dev

jQuery验证插件-“ lettersonly”功能

Related 相关文章

  1. 1

    消毒之前是否进行用户输入验证?

  2. 2

    在没有jquery验证插件的ajax发布之前验证表单

  3. 3

    使用Jquery Validation插件进行行验证

  4. 4

    使用jQuery validate插件进行URL验证

  5. 5

    在没有插件的Jquery中进行验证

  6. 6

    在插入数据之前对PHP进行消毒

  7. 7

    jQuery验证程序插件传递数据

  8. 8

    jQuery验证插件不发送POST数据

  9. 9

    jQuery验证程序插件传递数据

  10. 10

    jQuery验证插件,使用选项的数据元素作为验证检查

  11. 11

    不需要的Jquery验证插件数字不起作用

  12. 12

    ckeditor数据未通过jQuery验证进行验证

  13. 13

    在php中进行消毒和验证有什么区别?

  14. 14

    jQuery Validator插件未使用复杂名称进行验证

  15. 15

    jQuery validate插件:默认情况下对blur()进行验证

  16. 16

    使用jquery.validate.js插件进行条件表单验证

  17. 17

    使用插件对 URL 进行 JQuery 验证需要自定义

  18. 18

    进行超链接之前的数据表验证

  19. 19

    您应该在哪里验证/消毒数据?

  20. 20

    使用jQuery验证插件未执行的验证

  21. 21

    使用jQuery验证插件验证选择

  22. 22

    jQuery验证插件:验证多个输入文件

  23. 23

    jQuery验证插件基于模式的验证?

  24. 24

    jQuery验证插件-不必要的验证

  25. 25

    使用选择的插件的JQuery验证表单进行Bootstrap 3验证状态

  26. 26

    在jQuery Validate插件中,如何仅验证必填字段为空(不进行语法验证)?

  27. 27

    使用选择的插件的JQuery验证表单进行Bootstrap 3验证状态

  28. 28

    jQuery验证插件点击按钮

  29. 29

    jQuery验证插件-“ lettersonly”功能

热门标签

归档