jquery 验证不适用于 ng View 内的模板

标签 jquery angularjs validation jquery-validate ngroute

我只是使用 JQuery 验证来验证这个简单的表单

<form id="getting-started-form">
<label>Name</label>
<input type="text" id="txt-name" name="name" />

<br />
<label>Email</label>
<input type="text" id="txt-email" name="email" />

<button type="submit">Validate</button>
</form>

如果此表单未包含在 ng View 中,则验证工作正常,但是当我使用 ng 路由检索此模板时,验证无法使用相同的表单。

这是我的简单 HTML 页面

<!DOCTYPE html>
<html data-ng-app="ngViewValidate">
<head>
<title></title>
</head>
<body>

<div data-ng-view="">
</div>

<br />
<a href="#/ValidationTmpl">Go to validation template </a>
</body>
<script src="../Scripts/angularjs.js"></script>
<script src="../Scripts/angular-route.js"></script>
<script src="../Scripts/jquery-2.0.2.js"></script>
<script src="../Scripts/jquery.validate.js"></script>
<script src="../Scripts/jquery.validate.unobtrusive.js"></script>
<script src="JQueryValidateWithNgView.js"></script>
</html>

这是我的java脚本文件JqueryValidateWithNgView

var ngViewValidate = angular.module('ngViewValidate', ['ngRoute']);

ngViewValidate.config(function ($routeProvider , $locationProvider) {

$routeProvider.when('/ValidationTmpl',
    {
        templateUrl: '/WithAngular/ValidationTmpl.html'
    })
})

$('#getting-started-form').validate({

rules: {
    name: {
        required: true
    },
    email: {
        required: true
    }
},
submitHandler: function (form) {
    console.log('Valid');
},
invalidHandler: function (event, validator) {
    console.log('InValid');
}
})

问题是我可以使用 ng View 中的模板进行 JQuery 验证吗?还是应该使用 Angular 验证?

最佳答案

我在 AngularJS 和 jQuery 验证插件之间创建了一座桥梁。它使用单个指令 ng-validate 来验证表单,该指令会自动检测 DOM 何时准备就绪。它还使您能够在 Controller 内定义验证选项(规则、消息等),因此您不必为每个表单创建新指令。

尝试一下:https://github.com/jpkleemans/angular-validate 。非常感谢您的反馈!

关于jquery 验证不适用于 ng View 内的模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23707470/

相关文章:

javascript - 改变 child :before css when hover over parent

javascript - 动画和 DOM 重新排序后清除样式属性

javascript - Angular : Keep view state between differents views with differents controllers

javascript - PascalPrecht Angular 翻译 useUrlLoader

php - 新的 Google reCAPTCHA 始终无法通过本地主机进行验证

javascript - 尝试使用 JQuery 从 DOM 中删除项目,但项目仅设置为显示 :none

javascript - Flatpickr 使用所选日期填充 div 文本

javascript - 使用 Moment Timezone 将 UTC 转换为太平洋时间 (javascript)

c - C 中的数字输入验证

validation - 为什么我们需要对 Web 应用程序进行服务器端和客户端验证?