invalidHandler当有效输入完成后,如何获取jQuery Validate插件来更新错误计数器?
$(document).ready(function () {
$("#report-listing-form").validate({
rules: {
'listing-report-email': {
required: true,
email: true
},
'listing-report-name': {
required: true
},
'listing-report-phone': {
number: true,
minlength: 7,
maxlength: 12
},
'contact-msg': {
required: true,
maxWords: 1000
}
},
errorPlacement: function(error, element) {
return false; // will suppress error messages
},
invalidHandler: function (event, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
var message = (errors == 1) ? '1 invalid field.' : errors + ' invalid fields.';
$("#err_report-listing-form").html(message).addClass("text-error");
} …Run Code Online (Sandbox Code Playgroud) 我有一个包含多个地址字段的表单.如果前一个字段已经填写,我想只允许在一个字段中输入.我正在使用jquery validate,并希望继续这样做.我们的想法是,虽然除了第一个领域之外,实际上并不需要这些领域,但你不能在其余领域留下空白.因此,如果字段3为空,则您不能在字段4中包含数据.一种方法可能是仅在将数据输入上一个字段时启用字段,但不确定如何在此上下文中执行此操作.
我尝试在用户上传扩展名/格式为CSV的文件时验证csv文件
<script type="text/javascript">
$(document).ready(function() {
$('#form1').validate({
rules: { csv: { required: true, accept: "csv" }},
messages: { csv: "File must be CSV" }
});
});
</script>
<form action="product_import.php?action=import" method="POST" name="form1" id="form1" enctype="multipart/form-data">
<input name="csv" type="file" id="csv" />
</form>
Run Code Online (Sandbox Code Playgroud)
但问题是,当我上传带有扩展名csv的文件时,此错误消息将显示File must be CSV ,我不知道为什么这个脚本甚至不能接受我设置accept: "csv".
我的csv文件名是 product.csv
我有一个非常简单的形式,我想要一个字段.
但是当我提交一个空白字段时,什么也没发生:它仍然提交.
$(document).ready(function() {
jQuery("#commentForm").validate({
rules:{
message_name:{
required:true
}
},
messages:{
message_name:{
required:"Name Required"
}
}
});
});
<form id="case-study-form" action="<?php get_option("siteurl");?>/case-study-downloads/" method="post" >
<p><label class="modal-label" for="name">Name: <span>*</span></label> <input type="text" name="message_name" id="message_name" class="required" value=""></p>
<p><input type="submit" value="Submit" ></p>
</form>
Run Code Online (Sandbox Code Playgroud) 我承认,就正则表达而言,我是一个完全的菜鸟.我正在尝试为jquery validate插件编写自定义验证方法.我正在尝试检查输入中是否至少包含1个数字和1个字母.
这是我目前提出的,但它不起作用.非常感谢一些帮助.
jQuery.validator.addMethod("ContainsAtLeastOneDigit", function (value) {
return /^[a-z]+[0-9]/i.test(value);
}, 'Your input must contain at least 1 letter and 1 number');
Run Code Online (Sandbox Code Playgroud)
谢谢.
我有一个文本框,我想检查用户输入的值是否等于"Jhon"或某个名称.我尝试使用EqualTo验证规则,但它不起作用.
$('#home').validate({
rules: {
name: {
required: true,
equalTo: 'Jhon'
},
highlight: function(element) {
$(element).closest('.control-group').removeClass('success').addClass('error');
},
success: function(element) {
element
.text('OK!').addClass('valid')
.closest('.control-group').removeClass('error').addClass('success');
}
});
});
Run Code Online (Sandbox Code Playgroud) 我无法弄清楚如何使验证插件验证我在表单中动态创建的输入字段.是的,我一直在搜索,到目前为止我找不到任何解决我问题的答案.所以这就是我的要求.
Demo:http://jsfiddle.net/MGbWx/
我想要做的是在第一行中要求物品价格.新克隆的行应该只在其他三个输入字段之一中有输入时才需要项目价格.
我尝试了以下内容.
var itemPropSelector = 'input[name="sku[]"], input[name="itemVariant[]"], input[name="itemQuant[]"]';
$('#item-prop-wrapper').on('keyup', itemPropSelector, function () {
$(this).closest('.item-prop-body').find('.item-price-input').rules('add', {
required: true
});
});
Run Code Online (Sandbox Code Playgroud)
但它并不像我期望的那样有效.几个小时我一直在努力...
谁可以帮我这个事?我很感激!!
当我通过它时,这可能会变成多个问题,但我需要一些严肃的JQuery帮助.我基于bassistance.de的例子创建了一个多部分表单.在该演示中,验证非常简单 - 使用类指定必需的字段,迭代并从表单元素标题中提取错误消息.
我的表单比演示更复杂 - 我在这个实例中实现验证.例如,在演示中,错误正好在表单元素之后.在我的情况下,我想指定我想要验证的字段,创建规则并根据它们是否是错误指定我想在类中放置错误的位置.我正在使用Blueprint CSS框架,它已经有为这些东西构建的类,但正如我所说,我无法弄清楚如何使这项工作.
理想情况下,我希望能够在演示中更改验证方法并替换我更熟悉的方法 - 例如:
$("#theForm").validate({
errorPlacement: function(error, element) {
if(element.attr("name") === "name") {
error.appendTo("#nameError");
}
},
groups: {
capacityGroup: "progMin progMax",
},
rules: {
fName: "required",
},
messages: {
fName: "*First Name is required",
}
});
Run Code Online (Sandbox Code Playgroud)
所以,我当然希望有人可以帮忙解决这个问题.我在www.43rdworld.com/multitest.htm上传了一个略有不同的演示,其中添加了一个错误消息div和样式表.我真的想改变表单的验证方式,以便它在提交之前仍然可以在页面之间进行验证,但是让我指定必填字段,编写自己的规则和消息,并指定这些消息的显示位置.
我正在尝试使用jQuery Validation插件验证我的表单.
这是代码
$(document).ready(function(){
var productsForm=$('#products-form');
productsForm.validate({
//debug:true,
invalidHandler: function(event, validator) {
// 'this' refers to the form
var errors = validator.numberOfInvalids();
if (errors) {
var message = errors == 1
? 'You missed 1 field. It has been highlighted'
: 'You missed ' + errors + ' fields. They have been highlighted';
$("div.error span").html(message);
$("div.error").show();
} else {
$("div.error").hide();
}
},
rules:{
productName: {
required: true,
minlength:2,
//here i tried to create a function
onfocusout: function(element){
var myValue=$(element).val();
if(myValue.match(/[<>$]/)) …Run Code Online (Sandbox Code Playgroud) 我对jquery不太满意,因此需要你的帮助.
我有一个表单,其中有两个字段"origin"和"destination".所以我在两个字段中使用jquery自动完成.
$('#form1_origin,#form1_destination').autocomplete({
lookup: countriesArray,
minChars: 0,
});
Run Code Online (Sandbox Code Playgroud)
它工作得很好但是当我尝试使用jquery验证插件验证这些字段时,我遇到了一些问题.
这是代码: -
$('#form_1').validate({
errorClass: "airError",
focusInvalid: true,
success: function(element){
$(element).closest('.airError').removeClass('.airError');
},
errorPlacement: function(error,element){
if(element.attr("name") === "form1_infant" || element.attr("name") === "form1_departure"){
error.insertAfter('#showErrors');
}else{
error.insertAfter(element);
}
},
rules: {
form1_origin: {
validSelectionOrigin: true,
},
form1_destination:{
validSelectionDestination: true,
compare_origin_dest: true
},
// rules for rest of the fields
},
});
Run Code Online (Sandbox Code Playgroud)
问题:-
我很确定jquery会验证onkeyup上的字段.所以,如果我TYPE在此字段中的值,它工作正常,但是当我选择从自动完成列表中的值,它不验证领域,因为我仍然可以看到正在显示的错误.那么我能做些什么来使它适用于两者?