Tag: jquery validate

动态创建字段的Jqueryvalidation

我有基本的JavaScript代码来生成输入文本区域,如下所示 $(“#btnAdd”).click(function (e) { var itemIndex = $(“#container input.iHidden”).length; e.preventDefault(); var newItem = $(“” + itemIndex + ” “); $(“#container”).append(newItem); }); 我有一个动态字段的表单。 我正在为其他元素使用jqueryvalidation器。 现在我也想validation这个动态创建的字段。 对于静态字段,我的工作validation脚本。 $(‘#frm_register’).validate({ focusInvalid: false, ignore: “”, rules: { FirstName: { required: true } …. 这里是我动态字段的示例。

使用jQuery Validate插件validation具有相同名称的多个表单字段

我设法validation具有相同名称的多个表单字段,例如first_name[] ,使用jQuery Validate插件和此解决方法 ( 此处引用 )。 但是,错误消息仅针对字段的第一个实例显示,而不是下一个实例。 这是为什么? 为了记录,上面链接中提供的解决方案包括编辑jquery.validate.js并将checkForm函数内容更改为: checkForm: function() { this.prepareForm(); for ( var i = 0, elements = (this.currentElements = this.elements()); elements[i]; i++ ) { if (this.findByName( elements[i].name ).length != undefined && this.findByName( elements[i].name ).length > 1) { for (var cnt = 0; cnt < this.findByName( elements[i].name ).length; cnt++) { this.check( this.findByName( […]

MVC-3 / jQuery:停止validation我的复选框

我有MVC-3用户控件(html帮助器和aspx视图引擎)。 一些如何在我提交表单jQuery un-obtrusivevalidation时启动并要求我检查所有复选框。 我该如何预防呢? 更多信息: 1)我的模型中没有必需的属性。 2)我在telerik gridview中使用此复选框 namespace Alpha.Views { public class AlphaCheckBoxControl : ViewUserControl { } public class AlphaCheckBox { public bool isChecked; public string name { get; set; } public MvcHtmlString labelText; public bool readOnly; public bool visible { get; set; } public IDictionary htmlAttributes() { var dict = new Dictionary(); if […]

如何在jQueryvalidation中将此日期设置为可选?

我在之前需要的日期字段上有一个日期选择器。 我试图让它不再需要,但我没有看到如何做到这一点。 表单使用jQueryvalidation 。 我看到有一个必需属性可以设置为false,但错误仍然显示。 这是我正在使用的代码: setUpValidationForDates: function() { $(‘input.datepicker’).each(function(i, el) { $.validator.addMethod(‘sDateFormat’, function(value, element, param) { return String(value).match(/^[0-9]{4}-[0-9]{2}-[0-9]{2}/); }, ‘Must have format YYYY-MM-DD’); $(el).rules(‘add’, { required: false, sDateFormat: true, validDateString: true, }); }); } 当字段为空时,显示“必须具有格式YYYY-MM-DD”的消息。 我需要它来validation值是否存在,但允许空值。 如何根据需要完成此操作:false似乎没有像我期望的那样工作。 谢谢

在一个文本框中输入值时,所有错误消息都会消失

我有以下表格与jqueryvalidation。 当我提交表单而不输入任何值时,它会显示错误消息。 但是当我在“Amount”文本框中输入值时,两个错误消息都消失了。 此外,在此之后,当我清除Amount文本框中的值时,只有“Amount”错误消息才会显示,直到我单击该按钮。 如何解决这个问题? 小提琴 jQuery代码 $(“#formAddPayment”).validate({ rules: { “ddlModeOfPayment”: { required: true }, “txtAmount”: { required: true } }, messages: { “ddlModeOfPayment”: { required: “Please select Mode of Payment.” }, “txtAmount”: { required: “Please enter Amount.” } }, showErrors: function (errorMap, errorList) { var errorListResult = $.map(errorList, function(error){ return “” + error.message+ “”; […]

在执行时添加MVC 3和jQuery Validatorvalidation

我有一个表单,在加载页面时由c#呈现validation,渲染的字段如下: 我正在尝试将一个新的html对象等同于jQuery的示例,但是当我提交表单时,这个新字段未经过validation。 有办法使用jQuery在此字段中添加validation吗? PS:我不想使用这样的手动方法: $(“#field”).rules(“add”, { required: true, messages: { required: “Required input” } }); 因为我在输入字段中有规则,所以我只想应用它。

Knockout + Jqueryvalidation

我正在尝试使用jquery validate设置validation,并且我已经从服务器返回viewmodel,映射到客户端并成功地使knockout js绑定一些数据。 我包含了一个调用validation,但validation永远不会触发,但是如果我在输入框上放置一个类然后调用有效它触发按预期方式。 有任何想法吗? var viewModel; $(document).ready(function () { $.ajax({ url: ‘Home/GetUserData’, type: ‘post’, success: function (data) { viewModel = ko.mapping.fromJS(data); viewModel.save = function () { sendToServer(); }; ko.applyBindings(viewModel); main(); } }); }); function main() { $(“form”).validate({ rules: { birthPlace: { required: true, minlength: 2 } } }); } function sendToServer() { alert($(“form”).valid()); } […]

JQueryvalidation和表单提交处理程序之间的交互:破碎,或者我做错了什么?

我的一些表单需要validation,我使用JQueryvalidation插件。 我的一些表单需要一个自定义提交处理程序(在提交之前有条件地弹出一个确认对话框,与validation无关)。 我将处理程序附加到表单,如下所示: function confirmHandlerAttach(form, handler) { $(form).off(“submit”, confirmHandlerDefault); $(form).on(“submit”, handler); } validation和提交处理程序都基于类在doc准备好。 独立,两者都很好。 问题是,无论validation是否成功,似乎都会调用表单的提交处理程序。 在这里看一个简单的例子。 这不是我所期望的。 我认为validation会阻止提交和提交处理程序运行。 我做错了什么,还是我的期望错了? 我意识到我可以使用validation的submitHandler属性,如果有必要,我会去那条路。 但由于validation和确认(或任何其他提交处理程序)实际上是独立的函数,因此在某些表单使用validation的情况下,必须更改所有表单提交处理程序以处理JQueryvalidation插件似乎是一种遗憾。

使用.on和.validate的jQuery必须提交表单两次才能validation

我正在通过ajax加载一个表单并且使用新的.on()来加载jQuery validate插件在我再次按下提交之前没有加载。 我理解为什么我这么想。 当我按下提交时,on()函数在表单上加载validation。 有没有什么办法解决这一问题? 在我使用livequery之前,但是这不适用于jQuery 1.9.1,或者至少不推荐使用。 这是我的代码: $(document) .on(“submit”,function(event){ $(“#myform”).validate(); event.preventDefault(); }) 此代码之前在jQuery 1.4.2中有效 $(“#myform”) .livequery(function(){ $(this).validate(): }) 所以现在发生的是表单未提交,但错误仅在我第二次按提交时显示。 更新:感谢Sparky的新见解! 我习惯于早期的jQuery版本中的livequery。 但我知道livequery一直在监听元素并将CPU负载放在客户端上。 您在jsfiddle上的代码完全符合我的要求! 所以我不应该在生成的表单上使用.on()? 而是在回调中的表单上运行validate()。 这段代码有效(当然是在document.ready中): $(“#ask”).click(function(){ //send postdata from inputs, returns form with filled fields (defined with jQuery selectors) $.post(“include_form.lasso”,{zip:zip,custno:custno},function(data){ // div”skjema” is filled with form with ID $(“#skjema”).html(data); }) .done(function() { $(“#myform”).validate();}); […]

jQuery使用通配符validation设置规则以查找目标字段

是否有可能通过通配符添加规则? 我认为不可能设置这样的规则…… $(“#form”).validate({ // errorLabelContainer: $(“div#error”), errorElement: “p”, errorClass: “form-error”, rules: { $(“input[name*=’x.child’]”): { required: true, minlength: 5 } } });