Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.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
Javascript 验证不适用于angularJs应用程序_Javascript_Jquery_Html_Angularjs - Fatal编程技术网

Javascript 验证不适用于angularJs应用程序

Javascript 验证不适用于angularJs应用程序,javascript,jquery,html,angularjs,Javascript,Jquery,Html,Angularjs,我正在尝试构建一个angularjs应用程序。我使用ui路由器在页面之间进行路由。问题是,我对页面进行的验证工作正常,但它突然停止了工作(我认为是在使用ui路由器实现路由之后)。即使是对必填字段、电子邮件等的基本html表单验证也不起作用。我对angularJs这个领域真的是个新手。我已经阅读了这里发布的其他问题,并尝试了很多,但都是徒劳的 这是我的login.html <div ng-app="app" ng-controller="LoginController"> <fo

我正在尝试构建一个angularjs应用程序。我使用ui路由器在页面之间进行路由。问题是,我对页面进行的验证工作正常,但它突然停止了工作(我认为是在使用ui路由器实现路由之后)。即使是对必填字段、电子邮件等的基本html表单验证也不起作用。我对angularJs这个领域真的是个新手。我已经阅读了这里发布的其他问题,并尝试了很多,但都是徒劳的

这是我的login.html

<div ng-app="app" ng-controller="LoginController">
<form name="MyForm">


    <center>

          <img id="u1_img"  src="images\image.png">

    </center>


    <h1 align="center" style="color:#336BFF;">Sammilana</h1>
    <h3 align="center">Connecting People</h3>
    <center>
    <input type="email"  placeholder="Email" ng-model="login.User.email" required> </br></br>
    <input type= "password"  placeholder="Password" ng-model="login.User.password" required>
    </center>




    <center>

    </br>
    <a ui-sref="profile" class="centerBtn" style="text-decoration:none;">Login</a>
    </br></br>
    </center>


    <center>

    <a ui-sref="welcome" style="color:#80bfff;" ng-click="submitMyForm()">Register</a></br>
    <a ui-sref="forgot" style="color:#80bfff;">Forgot Password</a></br>


    </center>
    </form>
    </div> 

桑米拉纳
联系人们



登录

登记册
忘记密码

SubmitMyForm()是在controller中编写的函数,用于将值传递给数据库。有人能告诉我哪里出错了吗?

验证失败只会阻止表单提交。您没有提交表单,您只是在控制器上调用一个函数

尝试将
ctrl.submitMyForm()
移动到表单标记:

<form name="MyForm" ng-submit="ctrl.submitMyForm()">

然后添加一个提交按钮。您只能通过按钮而不是锚定标签提交表单

<button type="submit">Submit Form</button>
提交表单
单击“提交表单”按钮时,您将看到验证提示

但请注意,这是html5浏览器验证,而不是角度验证。

使用ng表单提交

<form name="MyForm" ng-submit="submitMyForm()">
:name是字段名 有许多验证选项,如dirty、$valid、$invalid等


此外,您还可以在函数中使用
$scope.MyForm.$valid
检查表单是否为$valid

我试过了。。验证现在可以很好地进行了。但是,如果正在进行验证,那么路由将不会发生。。然后它将不会路由到其他页面,反之亦然,只需提供$state,只需注入并使用$state.go(“:statename”)。从我尝试过的引用中获取。。验证现在可以很好地进行了。但是,如果正在进行验证,那么路由将不会发生。。然后它不会路由到其他页面,反之亦然,只会从控制器触发路由。注入
$state
,然后调用
$state.go('welcome')在提交函数的末尾。
MyForm.:name.$valid