我有复选框,文字跟着它,就像;
[复选框]我同意
如果在提交时未单击该复选框,则显示错误信息的当前方式是(我使用errorElement:"div");
[复选框]
此字段是必填字段.
我同意**
我宁愿喜欢;
[复选框]我同意
此字段是必填项
知道怎么做到这一点吗?
我有关的复选框和文本元素的html包装是这样的;
[div] [复选框]我同意[/ div] [div] [/ div]
我尝试了errorPlacment:如下所示希望仅为该元素应用它;
...
messages: {
usage_terms: {
required: "Must agree to Terms of Use.",
//errorElement: "div"
errorPlacement: function(error, element) {
error.appendTo( element.parent("div").next("div") );
}
}
}
...
Run Code Online (Sandbox Code Playgroud)
它没用.任何的想法?.
我正在研究MVC3的proyect,我正在尝试将qTip2与jQuery验证集成,以便将错误显示为浮动提示.我遇到的问题是显然在表单验证上调用errorPlacement没有做任何事情,猜测它与MVC处理它的方式有关.
基本上,我想要做的是使用MVC3和jQuery(注释)之间的集成验证,但也与qTip集成以更改错误消息的显示方式.
我已经搜遍了所有我找到的最好的是有人建议修改jquery.validate.unobtrusive.js - onError函数,但我检查了它并且不知道如何正确地修改它,加上更喜欢没有的解决方案要求我改变现有的脚本.
谢谢您的帮助.
到目前为止我所拥有的:
我的型号:
public class User
{
[Required]
public string Id { get; set; }
[Required]
[DataType(DataType.EmailAddress)]
public string Email { get; set; }
public string FirstName { get; set; }
public string SecondName { get; set; }
public string LastName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我的观点中的javascript:
$('#Form').validate({
errorClass: "errormessage",
errorClass: 'error',
validClass: 'valid',
errorPlacement: function (error, element) {
// Set positioning based on the elements position in the form
var elem = $(element),
corners …Run Code Online (Sandbox Code Playgroud) 我使用jQuery Validation插件来验证我的表单.我的问题是复选框的错误消息的位置.请看这个图像:

这是与复选框+ jQuery验证相关的html部分:
<fieldset id = "q8"> <legend class="Q8"></legend>
<label> What are your favourite genres of movies?<span>*</span></label>
<div class="fieldset content">
<style type="text/css">
.checkbox-grid li {
display: block;
float: left;
width: 25%;
}
</style>
<ul class="checkbox-grid">
<li><input type="checkbox" name="q8[]" value="Action"><label for="checkgenre[]">Action</label></li>
<li><input type="checkbox" name="q8[]" value="Adventure"><label for="checkgenre[]">Adventure</label></li>
<li><input type="checkbox" name="q8[]" value="Comedy"><label for="checkgenre[]">Comedy</label></li>
<li><input type="checkbox" name="q8[]" value="Animation"><label for="checkgenre[]">Animation</label></li>
<li><input type="checkbox" name="q8[]" value="Drama"><label for="checkgenre[]">Drama</label></li>
<li><input type="checkbox" name="q8[]" value="Romance"><label for="checkgenre[]">Romance</label></li>
//Continued the same for OTHER CHECKBOXES
</div>
</fieldset>
//html for other questions...
<input class="mainForm" …Run Code Online (Sandbox Code Playgroud) 我正在使用jquery验证器.
我有一个自定义规则应用于我的表单中的一组元素.这些输入还可能具有与之关联的其他(标准)规则.如果元素未通过我的自定义规则,我需要将错误消息放在一个地方,如果元素未通过标准规则,则需要将错误消息放在另一个地方.
我需要像 -
errorPlacement: function(error, element) {
if (error == MyCustomError) {
// put my error at the top of the form
} else {
// put my error next to the element
}
Run Code Online (Sandbox Code Playgroud)
我无法看到那个'错误'对象到底是什么(尝试使用firebug进行深入研究,但它没有提供足够的信息).
突出显示选项更加困难,因为我甚至没有使用'error'参数.
我试图通过Microsoft提供的不显眼验证来处理ASP.NET MVC 3项目中的errorPlacement JQuery Validate插件.我永远无法点击errorPlacement函数,我不确定我做错了什么.我在下面提供模型/视图/控制器的代码.请让我知道我做错了什么?
视图
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<Project.Models.SampleModel>" %>
<!DOCTYPE html>
<html>
<head runat="server">
<title>Index</title>
</head>
<body>
<script src="<%: Url.Content("~/Scripts/jquery-1.4.4.min.js") %>" type="text/javascript"></script>
<script src="<%: Url.Content("~/Scripts/jquery.validate.js") %>" type="text/javascript"></script>
<script src="<%: Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js") %>" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function ()
{
$("#form").validate(
{
errorPlacement: function (error, element)
{
alert("Code to define customer error");
}
})
});
</script>
<% using (Html.BeginForm("Index", "Sample", FormMethod.Post, new { id = "form" }))
{ %>
<%: Html.ValidationSummary(false) %>
<fieldset>
<legend>NewModel</legend>
<div class="editor-label">
<%: Html.LabelFor(model => model.Name) %> …Run Code Online (Sandbox Code Playgroud) 好的,我正在使用jQuery验证插件来检查简单表单上的错误.除错误放置外,一切正常.我试图在包含错误的INPUT之后将我的错误消息放入SPAN元素.出于某种原因,下面的代码将错误消息放在似乎是一个全新的LABEL元素中.知道我在这里做错了什么吗?
我的HTML
<form action="" id="contact" method="POST">
<p>
<label for="name">Name:</label>
<input type="text" name="name" id="name" class="text proper"/><span class="errMsg"></span>
</p>
<p>
<label for="email">* Email:</label>
<input type="text" name="email" id="email" class="required email text"/><span class="errMsg"></span>
</p>
<p>
<label for="extra">*Question:</label>
<textarea name="onlyText" id="onlyText" class=""></textarea><span class="errMsg"></span>
</p>
<button type="submit" id="send">Send Now</button>
<div id="results"></div>
</form>
Run Code Online (Sandbox Code Playgroud)
我的jQuery
<script>
jQuery(document).ready(function($){
$.validator.addMethod("regex",function(value, element, regexp) {
var check = false;
var re = new RegExp(regexp);
return this.optional(element) || re.test(value);
},
"No special Characters allowed here. Use only upper and lowercase letters (A through …Run Code Online (Sandbox Code Playgroud) 我正在使用Bootstrap,selectpicker和jQuery Validation插件.
选择清单:
<div class="form-group" id="content">
<select id="country" name="country" required>
<option value=''>Select</option>
<option value='1'>USA</option>
</select>
</div>
Run Code Online (Sandbox Code Playgroud)
Selectpicker:
$('select').selectpicker();
Run Code Online (Sandbox Code Playgroud)
要jQuery验证需要这个可以看到选择列表:
$('#frm-name').validate().settings.ignore = ':not(select:hidden, input:visible, textarea:visible)';
Run Code Online (Sandbox Code Playgroud)
然后验证:
$("#frm-name").validate({
rules: {
"country": {
required: true
}
},
errorPlacement: function(error, element) {
error.insertAfter("#content");
}
})
Run Code Online (Sandbox Code Playgroud)
错误从未显示.
我错过了什么?
jquery select jquery-validate errorplacement twitter-bootstrap