我有一些<select>使用所选插件的输入,我想在客户端验证为"必需".由于"selected"隐藏了实际的select元素并创建了一个包含div和spans的小部件,因此本机HTML5验证似乎无法正常工作.表单将不会提交(这是好的),但错误消息未显示,因此用户不知道什么是错的(这不好).
我已经转向jQuery验证插件(我计划最终使用它)但到目前为止还没有任何运气.这是我的测试用例:
<form>
<label>Name: <input name="test1" required></label>
<label>Favorite Color:
<select name="test2" required>
<option value=""></option>
<option value="red">Red</option>
<option value="blue">Blue</option>
<option value="green">Green</option>
</select>
</label>
<input type="submit">
</form>
Run Code Online (Sandbox Code Playgroud)
$(document).ready(function(){
$('select').chosen();
$('form').validate();
});
Run Code Online (Sandbox Code Playgroud)
这样可以select使用空值,而无需验证或显示错误消息.当我注释掉这chosen()条线时,它运行正常.
如何chosen()使用jQuery验证插件验证输入,并显示无效的错误消息?
如何使用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) 我在我的表单中使用jQuery验证 http://jqueryvalidation.org/documentation/
我想将验证添加到我的所有字段,但我想忽略具有类"my_item"的隐藏div.
所以这是我的Jquery:
$("#myform").validate({
ignore: ":hidden"
});
Run Code Online (Sandbox Code Playgroud)
如何从这个忽略的情况中排除具有类my_item的div.所以像div.
提前致谢
我正在使用此处的验证器插件来验证表单.
我遇到的问题是,如果我在表单输入元素周围放置以下内容,则验证失败:
<div style="display:none;"><input type="text" name="test" /></div>
Run Code Online (Sandbox Code Playgroud)
我需要这个,因为我正在为输入元素使用其他UI控制层,并且不希望它们可见.
它适用于内联和块元素,但我需要隐藏它.反正有没有绕过这个?
感谢您的任何反馈
更新:
我主要使用django验证选择选项字段(即:{{form.select_option_element}})
如此有效:
<div style="display:none;">
{{form.select_option_element}}
</div>
Run Code Online (Sandbox Code Playgroud)
......不起作用
发布后我似乎解决了它:
<div style="visibility: hidden; height: 0;">
{{form.select_option_element}}
</div>
Run Code Online (Sandbox Code Playgroud)
然后它允许我验证该字段.
@Scripts
<script src="@Url.Content("~/Scripts/jquery-1.7.1.min.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")"></script>
Run Code Online (Sandbox Code Playgroud)
@视图
@using (Html.BeginForm("TestModelState", "RandD", FormMethod.Post, new {id="form123" }))
{
@Html.TextBoxFor(x => x.htmlText, new { style="display:none"})<br />
@Html.ValidationMessageFor(x => x.htmlText)
<div>
@Html.TextBoxFor(x => x.Uprop1)<br />
@Html.ValidationMessageFor(x => x.Uprop1)
</div>
<input type="submit" value-="Submit" onclick="abc()" />
}
Run Code Online (Sandbox Code Playgroud)
我尝试过什么
var validateMeta = $('#form123').validate(); validateMeta.settings.ignore ="";
$.validator.setDefaults({ignore: ""});
$.validator.setDefaults({ ignore: [] });
asp.net-mvc jquery jquery-validate unobtrusive-validation asp.net-mvc-4
我有一个表格,我正在使用jquery.validate.我最初使用一组规则和自定义消息调用validate ...
$("#formName").validate( {
rules: {
myExistingInput: {
required: true
}
},
messages: {
myExistingInput: {
required: "Enter something"
}
},
ignore: null, // include hidden fields (see below)
submitHandler: function(form) {
// do stuff
},
invalidHandler: function(event, validator) {
// do stuff (some of the fields may have been hidden by a collapsible panel
// if there is an error on one of those fields, expand the panel so the error
// becomes visible)
}
});
Run Code Online (Sandbox Code Playgroud)
稍后,我动态地向表单添加字段,并为这些字段添加规则...
$("#formName").append(...);
$("#newInputName").rules("add", …Run Code Online (Sandbox Code Playgroud) 我有以下观点:
@Html.LabelFor(m => m.CompanyPostCode)
@Html.TextBoxFor(m => m.CompanyPostCode)
@Html.LabelFor(m => m.CompanyCity)
@Html.TextBoxFor(m => m.CompanyCity)
@Html.HiddenFor(m => m.CompanyCityID)
Run Code Online (Sandbox Code Playgroud)
在我的视图模型中,所有属性都标记为[必需].然后问题是我的CompanyCityID(标记为必需)被隐藏,因此在视图中没有进行验证.如果我在视图中显示此属性,则验证已完成.

我的问题:是否可以在隐藏字段上执行验证?有解决方法吗?
验证隐藏字段似乎有点奇怪.原因是该字段是基于特殊规则从jQuery填充的.如果它没有填充,我知道视图上的某些内容无效.
谢谢.
所以基本上我有一个简单的POST表单,使用来自jquery的Validate库进行验证,一切正常,但后来我使用了bootstrap中的tabs功能和许多其他库将表单分成两个不同的选项卡.现在的问题是验证只发生在打开(可见)选项卡上,无论隐藏选项卡中其他输入字段的条件如何.任何可能的建议?
我有一个像这样的简单验证块:
$("#myForm").validate({
ignore: ":hidden"
});
Run Code Online (Sandbox Code Playgroud)
当用户单击某个按钮时,我想将该忽略规则更改为ignore: [],然后验证它然后切换回来.我意识到我可以使用类,但我想知道是否有办法解决这个问题.
编辑:应该注意的ignore: []是,使用时这是正确的方法.validate().
jquery ×9
validation ×4
asp.net-mvc ×2
block ×1
css ×1
file-io ×1
hidden ×1
html ×1
plugins ×1
tabs ×1