具有Datepicker的Bootstrap Validator不验证日期

乔纳森·斯莫特

我正在使用引导程序验证程序来验证表单,但无法获取它来验证由datepicker填充的文本框。当我在文本框中单击时,日期选择器将显示一个日历。我选择了一个日期,然后在文本框中填充了选定的日期(即使我将bootstrap-datepicker.js修改为默认自动关闭,日历也不会自动关闭,这是另一个问题),但验证程序似乎忽略了盒子。它永远不会变为红色或绿色,也永远不会得到支票或x。有什么建议?

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="test_file_upload.aspx.vb" Inherits="ARDirectWithMobile.test_file_upload" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title id="titleTag"><%: Page.Title %> 401(k) Account</title>
<asp:PlaceHolder runat="server">
    <%: Scripts.Render("~/bundles/modernizr") %>
</asp:PlaceHolder>
    <script type="text/javascript" src="Scripts/jquery-1.10.2.js"></script>  
    <script src="Scripts/bootstrap.min.js"></script>  
    <link runat="server" id="StyleLink1" rel="stylesheet" type="text/css" href="/Content/bootstrap.css" />
    <link rel="stylesheet" href="Content/bootstrapValidator.min.css"/> 
    <link rel="stylesheet" href="Content/bootstrap-datepicker.min.css"/> 
    <script type="text/javascript" src="Scripts/bootstrapValidator.min.js"> </script>
    <script type="text/javascript" src="Scripts/bootstrap-datepicker.min.js"> </script>

</head>
<body>

<form id="contactForm" runat="server" method="post" class="form-horizontal">
    <div class="form-group">
        <label class="col-md-3 control-label">File Name</label>
        <div class="col-md-6 bs-example">
            <input type="file" class="form-control" name="uploadfile" />
            <asp:Label ID="Label3" runat="server" Text="Navigate to the file you wish to upload" CssClass="label_under_text"></asp:Label>	
	    </div>                          
    </div>

    <div class="date-form">   
        <label class="col-md-3 control-label">Pay Date</label>
        <div class="col-md-6 bs-example">
            <div class="input-group">
                <label for="PayDate" class="input-group-addon btn"><span class="glyphicon glyphicon-calendar"></span></label>
                <input id="PayDate" type="text" class="form-control date-picker" />
            </div>
        </div>
    </div>    
    <br /><br />
    <div class="form-group">
        <div class="col-md-9 col-md-offset-3">
            <button type="submit" class="btn btn-primary">Submit</button>
        </div>
    </div>
</form>
    <script>
        $(".date-picker").datepicker();
    </script>
    <script>
        
        $(document).ready(function () {
            $('#contactForm').bootstrapValidator({
                feedbackIcons: {
                    valid: 'glyphicon glyphicon-ok',
                    invalid: 'glyphicon glyphicon-remove',
                    validating: 'glyphicon glyphicon-refresh'
                },
                fields: {
                    uploadfile: {
                        validators: {
                            notEmpty: {
                                message: 'You must select a valid payroll file to upload'
                            },
                            file: {
                                extension: 'txt,xls,csv',
                                type: 'text/plain,application/vnd.ms-excel,text/csv'
                            }
                        }
                    },
                    PayDate: {
                        validators: {
                            notEmpty: {
                                message: 'The Pay Date is required and cannot be empty'
                            },
                            stringLength: {
                                max: 10,
                                minlength: 10,
                                message: 'The Pay Date must be 10 characters long'
                            }
                        }
                    }
                }
            });
        });
    </script>
    
</body>
</html>

希拉里

验证不适用于id仅具有name属性的输入并且datepicker输入不具有该name属性(或者您可能忘记了它)

<input id="PayDate" name="PayDate" type="text" class="form-control date-picker" />

而且您不需要检查日期的长度,也不需要遵循以下代码

stringLength: {
    max: 10,
    minlength: 10,
    message: 'The Pay Date must be 10 characters long'
}

并且您使用bootstrapdate picker,验证日期并在需要更改changeDate事件时重新验证日期

$('.date-picker').on('changeDate show', function(e) {
    $('#contactForm').bootstrapValidator('revalidateField', 'PayDate');
});

所以最终的代码将是

$(document).ready(function() {
 $(".date-picker").datepicker();
 $('#contactForm').bootstrapValidator({
   feedbackIcons: {
	 valid: 'glyphicon glyphicon-ok',
	 invalid: 'glyphicon glyphicon-remove',
	 validating: 'glyphicon glyphicon-refresh'
   },
   fields: {
	 uploadfile: {
	   validators: {
		 notEmpty: {
		   message: 'You must select a valid payroll file to upload'
		 },
		 file: {
		   extension: 'txt,xls,csv',
		   type: 'text/plain,application/vnd.ms-excel,text/csv'
		 }
	   }
	 },
	 PayDate: {
	   validators: {
		 notEmpty: {
		   message: 'The Pay Date is required and cannot be empty'
		 },
		 date: {
		   format: 'MM/DD/YYYY',
		   message: 'The format is MM/DD/YYYY'
		 }
	   }
	 }
   }
 });
 $('.date-picker').on('changeDate show', function(e) {
   $('#contactForm').bootstrapValidator('revalidateField', 'PayDate');
 });
});
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.5.0/css/bootstrap-datepicker.css" />
<link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/jquery.bootstrapvalidator/0.5.3/css/bootstrapValidator.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js">
</script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery.bootstrapvalidator/0.5.3/js/bootstrapValidator.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.5.0/js/bootstrap-datepicker.js"></script>
<form id="contactForm" runat="server" method="post" class="form-horizontal">
  <div class="form-group">
    <label class="col-md-3 control-label">File Name</label>
    <div class="col-md-6 bs-example">
      <input type="file" class="form-control" name="uploadfile" />
      <asp:Label ID="Label3" runat="server" Text="Navigate to the file you wish to upload" CssClass="label_under_text"></asp:Label>
    </div>
  </div>

  <div class="date-form">
    <label class="col-md-3 control-label">Pay Date</label>
    <div class="col-md-6 bs-example">
      <div class="input-group">
        <label for="PayDate" class="input-group-addon btn">
          <span class="glyphicon glyphicon-calendar"></span></label>
        <input type="text" id="PayDate" name="PayDate" class="form-control date-picker" />
      </div>
    </div>
  </div>
  <br />
  <br />
  <div class="form-group">
    <div class="col-md-9 col-md-offset-3">
      <button type="submit" class="btn btn-primary">Submit</button>
    </div>
  </div>
</form>

小提琴

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果我在属性中具有验证属性,为什么Validator.TryValidateObject不验证类?

来自分类Dev

ngx-bootstrap datepicker验证无效日期

来自分类Dev

多个jQuery Datepicker具有开始和结束验证

来自分类Dev

具有Codeigniter表单验证的Bootstrap模式

来自分类Dev

具有验证的Bootstrap 3.0内联表单

来自分类Dev

具有Codeigniter表单验证的Bootstrap模式

来自分类Dev

Bootstrap3 Datepicker-计算有效日期

来自分类Dev

使用ui-bootstrap版本1.3.3时,无法在有角度的ui-bootstrap datepicker中添加最小日期和最大日期验证

来自分类Dev

使用ui-bootstrap版本1.3.3时,无法在有角度的ui-bootstrap datepicker中添加最小日期和最大日期验证

来自分类Dev

设置`bootstrap-datepicker`的月份视图而不设置日期

来自分类Dev

具有Hibernate 3验证注释的Hibernate 4 Validator

来自分类Dev

验证日期-Bean验证批注-具有特定格式

来自分类Dev

具有自定义验证的Bootstrap进度栏

来自分类Dev

具有表单字段验证的React-Bootstrap Popover

来自分类Dev

具有jQuery验证和AJAX的Bootstrap联系表

来自分类Dev

具有自定义验证的Bootstrap进度栏

来自分类Dev

Bootstrap Datepicker所选日期重置

来自分类Dev

如何从文本框读取日期,具有Jquery UI DatePicker

来自分类Dev

验证具有不同格式的日期列表

来自分类Dev

Validator.TryValidateObject不验证属性

来自分类Dev

Validator.TryValidateObject不验证属性

来自分类Dev

Bootstrap-DatePicker设置打开日期而不设置默认值

来自分类Dev

Bootstrap-DatePicker设置打开日期而不设置默认值

来自分类Dev

WPF-DatePicker所选日期验证规则

来自分类Dev

出生日期的DatePicker验证

来自分类Dev

带有jquery datepicker错误的jquery验证插件(请输入有效日期)

来自分类Dev

Datepicker启用所有日期

来自分类Dev

Bootstrap 3 Datepicker和DateTime验证错误

来自分类Dev

带有验证的日期掩码

Related 相关文章

  1. 1

    如果我在属性中具有验证属性,为什么Validator.TryValidateObject不验证类?

  2. 2

    ngx-bootstrap datepicker验证无效日期

  3. 3

    多个jQuery Datepicker具有开始和结束验证

  4. 4

    具有Codeigniter表单验证的Bootstrap模式

  5. 5

    具有验证的Bootstrap 3.0内联表单

  6. 6

    具有Codeigniter表单验证的Bootstrap模式

  7. 7

    Bootstrap3 Datepicker-计算有效日期

  8. 8

    使用ui-bootstrap版本1.3.3时,无法在有角度的ui-bootstrap datepicker中添加最小日期和最大日期验证

  9. 9

    使用ui-bootstrap版本1.3.3时,无法在有角度的ui-bootstrap datepicker中添加最小日期和最大日期验证

  10. 10

    设置`bootstrap-datepicker`的月份视图而不设置日期

  11. 11

    具有Hibernate 3验证注释的Hibernate 4 Validator

  12. 12

    验证日期-Bean验证批注-具有特定格式

  13. 13

    具有自定义验证的Bootstrap进度栏

  14. 14

    具有表单字段验证的React-Bootstrap Popover

  15. 15

    具有jQuery验证和AJAX的Bootstrap联系表

  16. 16

    具有自定义验证的Bootstrap进度栏

  17. 17

    Bootstrap Datepicker所选日期重置

  18. 18

    如何从文本框读取日期,具有Jquery UI DatePicker

  19. 19

    验证具有不同格式的日期列表

  20. 20

    Validator.TryValidateObject不验证属性

  21. 21

    Validator.TryValidateObject不验证属性

  22. 22

    Bootstrap-DatePicker设置打开日期而不设置默认值

  23. 23

    Bootstrap-DatePicker设置打开日期而不设置默认值

  24. 24

    WPF-DatePicker所选日期验证规则

  25. 25

    出生日期的DatePicker验证

  26. 26

    带有jquery datepicker错误的jquery验证插件(请输入有效日期)

  27. 27

    Datepicker启用所有日期

  28. 28

    Bootstrap 3 Datepicker和DateTime验证错误

  29. 29

    带有验证的日期掩码

热门标签

归档