我正在尝试我的表单中的日期选择器..我使用了bootstrap glyphicon验证来验证它。但即使我从选择器中选择了日期,它也会显示必填字段的验证错误消息。我怎么能解决这个问题..下面是我的剧本..
<script>
$(document).ready(function() {
$('#datepicker')
.datepicker({
format: 'mm/dd/yyyy',
startDate: '01/01/2010',
endDate: '12/30/2020'
})
.on('changeDate', function(e) {
// Revalidate the date field
$('#myform').formValidation('revalidateField', 'date');
});
$('#myform').bootstrapValidator({
framework: 'bootstrap',
fields: {
date: {
validators: {
notEmpty: {
message: 'Last date is required'
},
date: {
format: 'MM/DD/YYYY',
min: '01/01/2010',
max: '12/30/2020',
message: 'The date is not a valid'
}
}
},
}
});
});
</script>
我的表格:
<form method="post" id="myform" class="form-horizontal">
<div class="form-group">
<label for="" class="control-label col-xs-2">Date</label>
<div class="col-md-6">
<input type="text" class="form-control" name="date" id="datepicker" placeholder="Date" >
</div>
</div>
<div class="form-group">
<div class="col-xs-offset-4 col-xs-10">
<button class="btn btn-primary btn-lg " type="submit" >Submit</button>
</div>
</div>
</form>
答案 0 :(得分:1)
日期未验证,因为您尝试使用formvalidation UI日期选择工具$('#myform').formValidation('revalidateField', 'date');
和.on('changeDate', function(e)
验证日期,而另外您使用Bootstrapvalidator插件验证日期输入字段$('#myform').bootstrapValidator()
您尝试使用2个不同的验证插件的简单字词。
此时,不确定要用于验证日期字段的插件,将使用formValidation
和Bootstrapvalidation
Bootstrapvalidation
JS脚本将是
$(document).ready(function() {
$('#myform').bootstrapValidator({
feedbackIcons: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
fields: {
date: {
validators: {
notEmpty: {
message: 'Last date is required'
},
date: {
format: 'MM/DD/YYYY',
min: '01/01/2010',
max: '12/30/2020',
message: 'The date is not a valid'
}
}
},
}
});
});
和datepicker
验证将
$(document).ready(function() {
$( "#datepicker" ).datepicker({
onSelect: function(){
$('#myform').bootstrapValidator('revalidateField', 'date');
}
});
});
当您使用jQuery Datepicker时,您无法使用onChange
验证它,就像您的方法一样,您必须使用OnSelect
验证它
formValidation
JS将是
$(document).ready(function () {
$('#myform').formValidation({
framework: 'bootstrap',
icon: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
fields: {
date: {
validators: {
notEmpty: {
message: 'Last date is required'
},
date: {
format: 'MM/DD/YYYY',
min: '01/01/2010',
max: '12/30/2020',
message: 'The date is not a valid'
}
}
}
}
}).find('[name="date"]')
.datepicker({
onSelect: function (date, inst) {
// Revalidate the field when choosing it from the datepicker
$('#myform').formValidation('revalidateField', 'date');
}
});
});
当您使用jQuery Datepicker时,您无法使用onChange
验证它,就像您的方法一样,您必须使用OnSelect
验证它