如何使用jQuery Form Validation插件验证隐藏的输入和不可见的文本输入?问题是,我正在使用自动建议插件,它为所选项目生成隐藏输入:
<input id="hiddenInput" type="hidden" name="something" value="1" />
Run Code Online (Sandbox Code Playgroud)
我有2个像这样的输入(它们都只允许1个项目),我想验证并在父项中显示错误<td>.这是我到目前为止所得到的,但如果该值实际上是一个数字,它不会显示错误或提交表单.
$("#form1").validate({
rules: {
something: {
number:true,
min:1,
required:true
}
}
})
Run Code Online (Sandbox Code Playgroud) 我正在使用JörnZaefferer的优秀jquery.validation插件,我想知道是否有一种简单的方法可以在验证之前自动修剪表单元素?
以下是验证电子邮件地址的表格的简化但有效的示例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"
type="text/javascript"></script>
<script src="http://ajax.microsoft.com/ajax/jquery.validate/1.5.5/jquery.validate.js"
type="text/javascript"></script>
<script type="text/javascript">
$().ready(function() {
$("#commentForm").validate({
rules: {
email: {
required: true,
email: true
}
}
});
});
</script>
</head>
<body>
<form class="cmxform" id="commentForm" method="get" action="">
<label for="cemail">E-Mail:</label><input id="cemail" name="email"
class="required email" />
<input class="submit" type="submit" value="Submit"/>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
问题是一些用户感到困惑,因为他们意外地在他们的电子邮件地址中输入了一些空格,例如"test@test.com".表单将不会提交并显示错误消息:"请输入有效的电子邮件地址.".非技术用户不知道如何发现空白,可能只是退出网站而不是试图弄清楚他们做错了什么.
无论如何,我希望我可以jQuery.trim(value)在验证之前链接" ",这样就删除了空白并且验证错误永远不会发生?
我可以使用addMethod来构建我自己的电子邮件验证功能.但我确信有一个更优雅的解决方案?
任何人都可以告诉我为什么客户端验证不适用于我的MVC 4应用程序.
@Scripts.Render("~/bundles/jquery")
@RenderSection("scripts", required: false)
Run Code Online (Sandbox Code Playgroud)
在我的web.config中,我有:
<appSettings>
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)
在我的login.cshtml页面中,我有:
@using (Html.BeginForm())
{
<div class="formscontent">
<ol>
<li>
@Html.LabelFor(x => x.AgreementNumber)
<br />
@Html.TextBoxFor(x => x.AgreementNumber, new { size = "30" })
<br />
@Html.ValidationMessageFor(m => m.AgreementNumber)
<br />
<br />
</li>
<li>
@Html.LabelFor(x => x.UserName)
<br />
@Html.TextBoxFor(x => x.UserName, new { size = "30" })
<br />
@Html.ValidationMessageFor(m => m.UserName)
<br />
<br />
</li>
<li>
@Html.LabelFor(x => x.Password)
<br …Run Code Online (Sandbox Code Playgroud) 如何<div>使用CSS垂直对齐包含图像(或闪光)的图像.高度和宽度是动态的.
我有一个简单的页面,表单和窗体外的按钮.我试图在按钮单击上验证表单.我已经在document.onready函数中添加了表单验证规则.但是表单未经过验证.
HTML: -
<html>
<head>
<script src="lib/jquery1.5.2.js"></script>
<script src="lib/jquery.validate.js"></script>
<script src="lib/myjs.js"></script>
</head>
<body>
<form id="form1" name="form1">
Field 1: <input id="field1" type="text" class="required">
</form>
<div>
<input id="btn" type="button" value="Validate">
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
JS: -
$(document).ready(function(){
$("#form1").validate({
rules: {
field1: "required"
},
messages: {
field1: "Please specify your name"
}
})
$('#btn').click(function() {
$("#form1").validate(); // This is not working and is not validating the form
});
});
Run Code Online (Sandbox Code Playgroud)
知道什么是错的吗?
我正在使用ASP.NET MVC 3中新的不显眼的验证功能验证表单.
因此,我没有编写代码来设置jQuery验证以开始验证我的表单.这一切都是通过加载jQuery.validate.unobtrusive.js库来完成的.
不幸的是,我需要打个招呼'你确定吗?' 表单有效但在提交之前的消息框.使用jQuery验证,你会在初始化时添加选项handleSubmit:
$("#my_form").validate({
rules: {
field1: "required",
field1: {email: true },
field2: "required"
},
submitHandler: function(form) {
if(confirm('Are you sure?')) {
form.submit();
}
}
});
Run Code Online (Sandbox Code Playgroud)
但是在使用不显眼的库时,您不需要初始化.
在这种情况下,我可以在哪里/如何添加提交处理程序?
谢谢
我正在使用jQuery验证来验证表单.我的表单上有两个文本框,只有第一个会添加"此字段是必填项".信息.如果我从第一个类中删除"required"类,则第二个类将具有该消息.
HTML:
<form id="questionForm">
<div><input class="required" id="value" type="text" /></div>
<div><textarea class="required" id="description"></textarea></div>
<button type="submit">Save</button>
</form>
Run Code Online (Sandbox Code Playgroud)
JavaScript的:
$("#questionForm").validate({ submitHandler: function() {
alert("valid");
}
});
Run Code Online (Sandbox Code Playgroud)
为什么只有一个被验证?
编辑:我正在使用jQuery验证插件1.7
编辑2:我正在使用MVC 3
在xcode和eclipse中有一个版本,我们可以来回到我们的最后一个光标位置.
例如,假设我正在编辑一个函数.然后我去看那个函数的定义.然后我想回到第一个功能.
假设我正在编辑调用B()的A().在A()中,我转到B()的定义,我想再回到编辑A().
我该怎么办?
在jQuery验证插件的伟大工程,是非常容易使用:
$(".selector").validate({
})
Run Code Online (Sandbox Code Playgroud)
只需设置"必需的电子邮件"等css类,就会显示默认消息.
但是,我需要自定义消息.文档说您可以使用元素的键值对及其相应的消息来指定规则:
$(".selector").validate({
rules: {
name: "required",
email: {
required: true,
email: true
}
},
messages: {
name: "Please specify your name",
email: {
required: "We need your email address to contact you",
email: "Your email address must be in the format of name@domain.com"
}
}
})
Run Code Online (Sandbox Code Playgroud)
但是,为每个表单元素指定规则是不切实际的,尤其是ASP.NET中的服务器生成的控件.是否可以指定适用于所有元素的规则?或者我可以以某种方式使用类选择器?
我尝试了以下,但它不起作用:
$("#frmMyForm").validate
({
rules:
{
$(".required email"):
{
required: true,
email: true
}
},
messages:
{
$(".required email"):
{
required: "Please enter your email address",
email: "Your …Run Code Online (Sandbox Code Playgroud)