我正在使用来自bassistance.de的Validation插件我想验证以下内容:
<form class="cmxform" id="form1" action="ufm/mailit.php" method="post">
<fieldset>
<input type="checkbox" value="namea" name="name[]" id="namea" /> <label for="namea">Name a</label>
<input type="checkbox" value="nameb" name="name[]" id="nameb" /> <label for="nameb">Name b</label>
<input type="checkbox" value="namec" name="name[]" id="namec" /> <label for="namec">Name c</label>
<button type="submit" id="RegisterButton" name="ButtonValue" value="Aanvragen">Submit</button>
</fieldset>
</form>
Run Code Online (Sandbox Code Playgroud)
并使用此JavaScript:
$(document).ready(function() {
$("#form1").validate({
rules: {
vraag2[]: {required: true, minlength: 1}
},
messages: {
vraag2[]: "Make at least one choice"
}
});
});
Run Code Online (Sandbox Code Playgroud)
但它不起作用,它与[]字符有关我如何将这些字符与验证插件一起使用?
谢谢!
Edski
有人可以建议一个更好的方法来完成我正在做的事情.除了IE7之后,注释掉的返回在所有浏览器中都有效.我知道这完全是贫民窟,但这是我使用它的唯一方法,因为IE7无法解析我所知道的json.当我使用webforms和jquery验证时,这似乎只是堆积在另一个上面的东西.如果值在查询字符串中,我无法让我的web服务回复,所以我必须手动添加规则.即/webservices/ipmws.asmx/SiteValid?tbSiteName=WHATEVER ....如果这样可能会有所有这些不是必需的?
提前致谢.
$('#form2').validate();
$("#tbSiteName").rules("add", {
remote: function () {
var r = {
url: "/webservices/ipmws.asmx/SiteValid",
type: "POST",
data: "{'tbSiteName': '" + $("#tbSiteName").val() + "'}",
dataType: "json",
contentType: "application/json; charset=utf-8",
dataFilter: function (data) {
var str = data.split(':');
return str[1].substring(0, str[1].length -1)
//return (JSON.parse(data)).d;
}
}
return r;
},
messages: {
remote: "The site code is either not present or invalid."
}
});
Run Code Online (Sandbox Code Playgroud) 我需要一些RegEx用于我的jQuery验证器自定义方法.我认为第一个容易的只是将用户名限制为只有美国字母,数字和没有特殊字符.我想出来^[a-zA-Z0-9]+$但它似乎没有用.也许是因为它出现在函数中的方式:
$.validator.addMethod(
"legalName",
function(value, element) {
return (element.value != "^[a-zA-Z0-9]+$");
},
"Use a valid username."
);
Run Code Online (Sandbox Code Playgroud)
第二种是验证密码,这与增加所需数量的某些字符(例如大写,数字等)基本相同.我想一旦我得到用户名RegEx下来密码不会太难,只是{1}在表达式中适应的问题.
我的问题的最后一部分是如何在原始内部添加第二种方法("legalPassword"),.addMethod还是需要创建另一种方法$.validator.addMethod?
$(document).ready(function() {
$("#form1").validate({
rules: {
username: {
legalName: true,
required: true,
maxlength: 35
}
},
});
});
Run Code Online (Sandbox Code Playgroud)
和表格代码:
<form id="form1" method="post" action="">
<div class="form-row"><span class="label">Username *</span><input type="text" name="username" /></div>
<div class="form-row"><input class="submit" type="submit" value="Submit"></div>
</form>
Run Code Online (Sandbox Code Playgroud)
新代码(仍然无效):
$.validator.addMethod(
"legalName",
function(value, element) {
/^[a-zA-Z0-9]+$/.test( value );
},
"Use a valid username."
);
Run Code Online (Sandbox Code Playgroud) 我的代码有问题似乎.validate不起作用,但所有文件都连接起来并且工作正常:
HTML:
<!DOCTYPE html>
<html>
<title>Site Name Quote Form</title>
<link rel="stylesheet" href="http://domain.co.nz/_assets/css/style.css"/>
<body>
<div id="wrapperQuote">
<h1>Site Name Quote</h1>
<p class="quoteError"><?php echo validation_errors(); ?></p>
<p class="step">Step 1: Company Details</p>
<form id="quote" action="home/hosting" method="post">
<fieldset>
<legend>Company Details:</legend>
<label for="companyName">Company Name: </label><input type="input" name="companyName" id="companyName"/>
<label for="companySlogan">Company Slogan: </label><input type="input" name="companySlogan" id="companySlogan"/>
<label for="companyContact">Company Contact: </label><input type="input" name="companyContact" id="companyContact"/>
<label for="companyEmail">Company E-Mail: </label><input type="email" name="companyEmail" id="companyEmail"/>
<label for="companyWebsite">Company Website: </label><input type="url" name="companyWebsite" id="companyWebsite" placeholder="http://"/>
<label for="companyPhone">Company Phone: </label><input type="phone" name="companyPhone" id="companyPhone"/> …Run Code Online (Sandbox Code Playgroud) 我的模型中有两个字段
这就是这样的
<b>Start Date</b> @Html.EditorFor(model => model.AdvanceSearch.CreateDatefrom, new { @class = "picker startDate" })
<b>End Date</b> @Html.EditorFor(model => model.AdvanceSearch.CreateDateto, new { @class = "picker endDate" })
Run Code Online (Sandbox Code Playgroud)
我有一个验证方案,enddate不应该大于开始日期,目前我正在通过jquery验证它
$.validator.addMethod("endDate", function (value, element) {
var startDate = $('.startDate').val();
return Date.parse(startDate) <= Date.parse(value);
}, "* End date must be Equal/After start date");
Run Code Online (Sandbox Code Playgroud)
我想知道在MVC3模型验证中有什么方法可以做到这一点吗?
我正在使用jQuery Validation插件,我正在添加自己的方法,如下所示:
jQuery.validator.addMethod("num", function(num) {
if(isNaN(num))
return false;
return true;
}, "Please enter a valid number");
Run Code Online (Sandbox Code Playgroud)
但是,即使我没有将required类添加到表单元素,如果用户没有输入任何内容,仍将调用此验证方法并将其评估为false.但我希望行为是,如果一个元素没有required该类,只有在用户输入了某些内容时才会调用它.反正有没有这样做?谢谢!
UPDATE
所以我上面发布的实际代码是一个简单的示例来演示问题,但是现在我提出了给我提出问题的具体示例.这是jsfiddle链接:
HTML
<form method="post">
<li>
<label for="2">Mileage</label>
<input type="text" name="2" id="attr_2" class="non_neg_int"
value="" />
</li>
<li>
<label for="3">VIN (Vehicle Identification Number)</label>
<input type="text" name="3"
id="attr_3" class="vin" maxlength="17" value="" />
</li>
<li>
<input type="submit" />
</li>
</form>
Run Code Online (Sandbox Code Playgroud)
JS
$(document).ready(function () {
var validator = $("form").validate({
onkeyup: false,
onblur: true,
ignore: "",
submitHandler: function (form) { // …Run Code Online (Sandbox Code Playgroud) 我尝试在用户上传扩展名/格式为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
使用jquery-validate 1.11.0
在我的表单中,我的条件是如果在字段A中输入文本,则需要字段B和C. 如果在字段B中输入文本,则需要A&C,依此类推.此外,如果字段D中有任何文本,请将其清除.
如果在字段D中输入文本,则清除字段A,B,C并使其不是必需的.
我有一个错误,如果我先填写字段A,它似乎提交绕过其他2个字段根据需要.如果我首先填写字段b或c,则确保需要字段A.
http://jsfiddle.net/rockitdev/mxtXX/47/
<form id="search" name="search" method="post" action="">
<label for="a">Text A</label>
<input id="a" type="text" class="search-person" />
<label for="b">Text B</label>
<input id="b" type="text" class="search-person" />
<label for="c">Text C</label>
<input id="c" type="text" class="search-person" />
<label for="d">Text D</label>
<input id="d" type="text" class="search-hcn" />
<p>
<input class="btn btn-primary" type="submit" value="Submit" />
</p>
</form>
$('.search-person').focus(function () {
$('.search-hcn').val(' ').removeClass("required");
$('.search-person').addClass("required");
});
$('.search-hcn').focus(function () {
$('.search-person').val(' ').removeClass("required");
$('.search-hcn').addClass("required");
});
$('#search').validate();
Run Code Online (Sandbox Code Playgroud) 我有一个非常简单的形式,我想要一个字段.
但是当我提交一个空白字段时,什么也没发生:它仍然提交.
$(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) 我正在使用http://jqueryvalidation.org/中的插件来验证我的表单.HTML代码很简单:
<form id="myform">
<input type="text" name="field1" /> <br/>
<textarea maxlength="140" style="resize:none" class="textoxarea" placeholder="zbzbzxcbcx" name="field2"></textarea>
<input type="checkbox" name="terms" />x
<input type="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)
而javascript是:
$(document).ready(function() {
$('#myform').validate({ // initialize the plugin
errorElement: 'div',
rules: {
field1: {
required: true,
email: true
},
field2: {
required: true,
minlength: 5
},
terms: {
required: true,
maxlength: 2
}
},
submitHandler: function(form) { // for demo
alert('valid form submitted'); // for demo
return false; // for demo
}
});
});
Run Code Online (Sandbox Code Playgroud)
正如你在我的小提琴中 …
jquery-validate ×10
jquery ×9
asp.net ×1
asp.net-mvc ×1
css ×1
html ×1
javascript ×1
razor ×1
regex ×1