Javascript 是否有一种方法可以在不首先提交表单的情况下,通过单击按钮验证表单的一部分?

Javascript 是否有一种方法可以在不首先提交表单的情况下,通过单击按钮验证表单的一部分?,javascript,jquery,angularjs,forms,validation,Javascript,Jquery,Angularjs,Forms,Validation,所以基本上我有一个表单,它使用了一些Angular,它是一个注册表单,有很多字段,为了更好的用户体验,我们决定使用Angular在表单中间创建一个“下一步”按钮,将用户带到表单的下半部分,而不刷新页面。但是,使用基本验证(如required)很复杂,因为如果用户在第一页上遗漏了某些内容,然后单击第二页上的submit按钮,“this field is required”(提交)消息将闪烁,但用户无法看到它,因为它出现在第一个屏幕上 是否有一种方法可以使用angularJS或jquery验证插件等

所以基本上我有一个表单,它使用了一些Angular,它是一个注册表单,有很多字段,为了更好的用户体验,我们决定使用Angular在表单中间创建一个“下一步”按钮,将用户带到表单的下半部分,而不刷新页面。但是,使用基本验证(如required)很复杂,因为如果用户在第一页上遗漏了某些内容,然后单击第二页上的submit按钮,“this field is required”(提交)消息将闪烁,但用户无法看到它,因为它出现在第一个屏幕上

是否有一种方法可以使用angularJS或jquery验证插件等工具分别验证表单的每一半?即,我是否可以在单击“下一步”按钮时验证表单的前半部分,以便用户在未先填写前半部分的情况下无法进入表单的后半部分

请注意:我尝试使用Jquery验证插件,但我也使用angular,因此当我单击next按钮时,它会验证一次,但仍然允许我进入下一页

希望这个问题有意义,干杯

试试看:

$("#form").validate();
您还可以使用以下选项选择要尝试和验证的元素:

$("#form").validate().element("#id");

这将在不提交结果的情况下手动启动验证过程,还将允许您选择要验证的元素。

也许您可以使用
键控。大概是这样的:

$("input[type='email']").keyup(function(evt){
     validate($(this).val());
});
其中,
validate
是一个检查输入值的函数


无论如何,如果你想使用
键控
功能,你可以像这样做。

你可以完全以角度的方式来做,就像你在表单中使用角度一样。在发送post请求之前,您还可以在submit函数中添加一个检查,检查任何字段是否无效


验证示例
用户名:
用户名是必需的。

电子邮件:
电子邮件是必需的。 无效的电子邮件地址。


密码:
密码是必需的。

var-app=angular.module('myApp',[]); app.controller('validateCtrl',函数($scope){ $scope.next=false; $scope.movenext=函数(){ $scope.next=true; } $scope.prev=函数(){ $scope.next=false; } });
感谢您的快速回复!这样做是可行的,它确实正确地验证了字段,但是我的“下一步”按钮现在根本不起作用。现在我有了这个:nex和JS:$(function(){$(“#nextBtn1”).on('click',function(){console.log('clicked');$(“#registerIndividualForm”).validate().element('#firstName');});你能提供一个链接让我自己测试一下吗?我们正在使用xampp和本地主机,因为我们还不在服务器上,所以我不能提供链接。不幸的是,你只能将相关部分复制到一个提琴中。我试过:$(function(){$(“input[type='email'])。keyup(function(evt){$('#registerIndividualSeller')。验证({规则:{email:{required:true,email:true}}}}}}};}};});毫无用处,这是你的意思吗?我是新手,如何在注释/问题中正确插入代码?当你开始写注释时,你可以看到以下文本:“注释使用小标记格式:斜体粗体<代码>代码
”如果你能把你的代码复制成a,我们会有更多的选择给你一个正确的答案。我正在调整/实现这一点,到目前为止还不错!非常感谢&如果我遇到任何问题,我会告诉你的