Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 从jquery验证和淘汰中迷失方向_Json_Asp.net Mvc 3_Jquery Validate_Knockout.js - Fatal编程技术网

Json 从jquery验证和淘汰中迷失方向

Json 从jquery验证和淘汰中迷失方向,json,asp.net-mvc-3,jquery-validate,knockout.js,Json,Asp.net Mvc 3,Jquery Validate,Knockout.js,我已经试了好几个月了,好几个月了,好几个月了,还有 月。我几乎要哭了,因为我想让击倒为我工作 我有一些帖子可以追溯到去年试图做到这一点。我 只是无法使用knockout和asp.net进行验证 mvc 如果我将$.validator.unobtrusive.parse(“#uu frmAspect”)行输入,I 获取验证,但它不遵守提交处理程序。如果我 去掉它,它会服从提交处理程序,但不会得到任何结果 验证 这是我的代码-全部。(我想) 主视图 编辑器视图 视图模型 控制器和模型绑定器

我已经试了好几个月了,好几个月了,好几个月了,还有 月。我几乎要哭了,因为我想让击倒为我工作

我有一些帖子可以追溯到去年试图做到这一点。我 只是无法使用knockout和asp.net进行验证 mvc

如果我将
$.validator.unobtrusive.parse(“#uu frmAspect”)行输入,I
获取验证,但它不遵守提交处理程序。如果我
去掉它,它会服从提交处理程序,但不会得到任何结果
验证

这是我的代码-全部。(我想)

主视图

编辑器视图

视图模型

控制器和模型绑定器

Html输出

HtmlTags类

助手

我已经坚持了8个月了。谁能 请帮帮我?我只想将数据提交回服务器。我 不要ajax,我不要回调。我不想要任何花哨的东西。 我只想在正确的操作后将我的
JSON
模型发送回服务器 客户端验证,并让它获取数据。这就是我想要的。我愿意 不想使用
$.ajax
方法。我有理由这么做 它是这样的,它们与问题无关

对RP Niemeyer的回应 是的,成功了 我觉得我可以从这个问题的挫败感中解脱出来 让我。如果这个问题听起来很粗鲁,我很抱歉,但我不知道你在问什么 我在网上见过这种事。我肯定还有其他开发者 能够理解一个看似不重要的问题所带来的挫折感 我有一个答案

我不知道你是怎么得出这个结论的,我也不明白 这就是为什么它起作用

我在对象实例化视图模型(其中 视图模型不是它自己的对象,而是另一个对象的实例) 但它不起作用。换句话说,如果我这样做了

var aspect = function () { 
  this.Id = ko.observable(); 
 // other variables, using ';' and 'this' keyword 
 this.Save = function() { 
   alert('We got to the save function'); 
 } 
} 

var viewModel = new aspect(); 
ko.applyBindings(viewModel, $("#__frmAspect")[0]); 
// attach the jquery unobtrusive validator 
$.validator.unobtrusive.parse("#__frmAspect"); 
// bind the submit handler to unobtrusive validation. 
$("#__frmAspect").data("validator").settings.submitHandler = 
viewModel.Save; 
这种方法不起作用。 我能麻烦你向我解释一下什么不同,为什么不同吗?我是
完全丢失。

我认为问题在于,不引人注目的库已经在表单上设置了验证,因此您实际上需要进入并设置submitHandler,如下所示:

// attach the jquery unobtrusive validator
$.validator.unobtrusive.parse("#__frmAspect");

// bind the submit handler to unobtrusive validation.
$("#__frmAspect").data("validator").settings.submitHandler = viewModel.Save;

我没有看过所有代码,但我认为您需要添加return true;在方法的末尾:submitHandler:function(){viewModel.Save();return true;}它甚至从来都不会命中代码的这一部分。我可以放一个警报在那里运行,它甚至从来没有被解雇。是的,这确实有效。我在淘汰赛论坛上回复了你的帖子,但我会在这里回复,这样你就可以得到积分。我要等几天,我可以给这件事加上一点赏金,并奖励你的分数,因为这让我非常激动,我真的认为你应得的解决它。我已经更新了我的问题,如果你想回答的话。不管怎样,我都会给你分数。非常感谢你这么做。我希望我能理解你是怎么想出来的。我尝试了最基本的样本,但仍然有效:。代码的完整版本中必须包含其他内容。我会在KO论坛上与你合作解决这个问题。正如我承诺的那样,我已经将悬赏设置为100分,并将在24小时内给予奖励,如果SO允许的话。再次感谢你所做的一切。